PHP用Microsoft SQL Serverドライバの使用
MicrosoftのPHP用SQL Serverドライバの使用
前書き
この短いマニュアルは、Microsoft SQL Server(MSSQL)RDBMSを使用してMoodle 2.0(およびそれ以降)を実行するためのものです。下記の手順は、Moodle自体をインストールする前に実行する必要があります。
まず第一に、最低限必要なMSSQLのバージョンはMSSQL 2005(v.9)に安定しています。
インストールの概要
1. SQL Server Management Studioを含むMicrosoft SQL Serverをインストールします。 ( 無料版のSQL Server Express Editionがテストに利用可能です。)
- 後で簡単にするために、混合認証(Windowsアカウントとローカルアカウント)を選択してください。要求されたときに「sa」アカウントのパスワードを定義します(これはデフォルトですべてのデータベースにフルアクセスできるデフォルトのシステム管理者アカウントです)。
2. MSSQL用にWindowsを設定します。
- デフォルトでは、MSSQLは着信TCP / IP接続をポート1433で受信します。このポートはファイアウォールで開く必要があります。これは、インストールされているファイアウォール(コントロールパネルのWindowsファイアウォールまたは他のファイアウォール用の設定インターフェイス)で明示的に設定されています。 MSSQLのインストール時にポートが変更された場合は、ファイアウォールで開く正しいポート番号を指定してください。
- TCP / IPプロトコルが有効になっていることを確認します。SQL Server構成マネージャー - > ネットワーク構成 - > プロトコル - > TCP / IPが有効
3.新しいデータベースを作成して設定します。
- 「SQL Server Management Studio」を開き、新しい空のデータベースを作成します。
- 次のコマンドを実行して行のバージョン管理を有効にします。
USE MASTER GO ALTER DATABASE <your-database-name> SET READ_COMMITTED_SNAPSHOT ON GO
4. PHPとWebサーバーをインストールします。
- PHPはwww.php.netからダウンロードできます。
- IISがWebサーバーとして使用されている場合は、 FastCGIおよびWinCacheと共にIIS 7.0以降が推奨されます。
5. PHP用のSQL Serverドライバをインストールします。
- Webサーバーに、ダウンロードページに記載されているすべての前提条件を含むSQL Server Driver for PHPをインストールします 。注:SQL Server Driver for PHPのダウンロードページに記載されているバージョンのSQL Server Native Access Clientをインストールすることが重要です。
- 適切なSQLSRVドライバーを使用するようにPHPを構成してください。 php.iniで、以下を設定します。
PHP 5.2.4以降の場合
[PHP_SQLSRV] extension=php_sqlsrv_52_nts_vc9.dll
PHP 5.3.2以降の場合
[PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc9.dll
PHP 5.6.24以降の場合
[PHP_SQLSRV] extension=php_sqlsrv.dll
PHP用SQL Serverドライバに関するマイクロソフトのドキュメントは、 http : //msdn.microsoft.com/ja-jp/library/ee229548(v=SQL.10).aspxから入手できます。
6. Moodleをインストールして設定します。
7. Moodleのconfig.phpには以下のような行が含まれているはずです。
$CFG -> dbtype = 'sqlsrv' ; // Required $CFG -> dbhost = 'localhost' ; // Assuming that MSSQL is on the same server, otherwise // use the actual name or IP address of your database server $CFG -> dbname = 'moodle' ; // The name of the newly created Moodle database $CFG -> dbuser = 'yourusername' ; // your database username $CFG -> dbpass = 'yourpassword' ; // your database password $CFG -> dbpersist = true ; $CFG -> prefix = 'mdl_' ; // The prefix can be changed per individual preferences, // but NEVER leave this blank!
- config.phpファイルが存在しない場合は、Moodleインストーラから通常通りに生成されます。あるいは、Moodleパッケージに含まれているconfig-dist.phpファイルを使用してカスタムconfig.phpファイルを作成してください。
8. Webサーバーを再起動または起動します。
- それでもMoodleがデータベースサーバと通信できない場合は、/ PHP / php.iniファイルでdisplay_startup_errorsを "On"に設定してからWebサーバを再起動し、不正なDLLバージョンまたは依存関係の欠如を示す可能性があるエラーを確認してください。これらのエラーレポートは、PHPではデフォルトではオフになっていますが、新しい拡張機能のインストールに関する問題を突き止める上で非常に重要です。
9.データベース接続をテストします。
- このPHPスクリプトを試して、以下の例からtest.phpというテキストファイルを追加し、config.php設定に合わせて( 'localhost'、 'db_user'、 'db_password')を変更し、ローカルホストからロードしてください( http: //localhost/test.php )
<?php $link = sqlsrv_connect ( $this -> dbhost , array ( 'DATABASE' => 'db_name' , 'UID' => 'db_user' , 'PWD' => 'db_password' ) ) ; if ( $link === FALSE ) { echo 'Could not connect' ; die ( 'Could not connect: ' . sqlsrv_errors ( SQLSRV_ERR_ALL ) ) ; } echo 'Successful connection' ; sqlsrv_close ( $link ) ; ?>
10.通常どおりにMoodleのインストールの残りを完了します。
参照
- エラーFAQ
- MSTSQL for PHPのインストール 、FreeTDSドライバを使用してMoodleをSQL * Serverにインストールする方法について。
- Using Moodle Installationの問題フォーラム
- PHP用Microsoft SQL Serverドライバは、Moodleの主要なパフォーマンス問題を解決します。参照: ハードウェアとパフォーマンスフォーラム