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.WindowsをMSSQL用に構成します。
- デフォルトでは、MSSQLは着信TCP/IP接続のポート1433をリッスンし、このポートはファイアウォールで開く必要があります。これは、インストールされているファイアウォール(コントロールパネルのWindowsファイアウォールまたは他のファイアウォールの構成インターフェイス)で明示的に構成されています。 MSSQLのインストール時にポートが変更された場合は、ファイアウォールで開く正しいポート番号を指定してください。
- TCP/IPプロトコルが有効になっていることを確認します:SQL Server Configurationマネージャ -> ネットワーク構成 -> プロトコル -> 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 and WinCacheでIIS7.0以降をお勧めします。
5.PHP用のSQL Serverドライバをインストールします。
- Webサーバに、ダウンロードページにリストされているすべての前提条件を含めてSQL Server Driver for PHPをインストールします。注:PHP用SQL Serverドライバのダウンロードページに記載されているSQL Serverネイティブアクセスクライアントのバージョンをインストールすることが重要です。
- 適切な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ドライバのMicrosoftドキュメントは、 http://msdn.microsoft.com/en-us/library/ee229548(v=SQL.10).aspx で入手できます。
6.Moodleをインストールして設定します。
- 標準の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というテキストファイルを追加し、( 'localhost'、 'db_user'、 'db_password')を変更してconfig.php設定に合わせ、ローカルホスト(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
- PHP用MSSQLのインストール、FreeTDSドライバを使用してSQL * ServerにMoodleをインストールする方法について。
- Moodleの使用インストール問題フォーラム
- PHP用のMicrosoft SQL Serverドライバは、Moodleの主要なパフォーマンスの問題を解決します。参照:ハードウェアおよびパフォーマンスフォーラム