WordPressは以下の3つの機能がすべて動作していないと正常に動作しない。
- Httpサーバー
- PHPモジュール
- データベース
ここでは Windows10 x Apache x PHP x MySQL の場合と仮定して、WordPressをインストールしようとした場合に「重大なエラー」が発生した場合、最低限確認した方がよい内容について書いておく。
Apache(Httpサーバー)機能の確認
ドキュメントルートに簡単なHtmlファイルを配置してブラウザからアクセスしてみる。
これがだめなら Apache自体が正常に動作していないと思われるので、httpd.cof の「DocumentRoot」の設定や、Directoryディレクティブの設定などを見直した方が良い
httpd.conf の設定で rewrite_module がロードされるようになっているか。
adModule rewrite_module modules/mod_rewrite.so
PHP機能の確認
<?php phpinfo(); ?> が正常に動作に動作するか。
これが動作しない場合、httpd,confの設定で
- php_module をロードするようにしているか。ロードするdllファイルが存在しているか。
- MIME Type の設定で .「AddType application/x-httpd-php .php」などを正しく設定できているか。
などを確認すべき。
<?php phpinfo(); ?> の内容の確認
「Loaded Configuration File」に読み込まれた php.ini のパスが表示されているか。
パスがない場合は、 httpd,conf などで「PHPINIDir」のパス設定がされていない。
php.ini 自体が存在していないなどが考えられる。
「extension_dir」のパスが設定されているか。
パスがない場合は、php.ini で「extension_dir」の パス設定がされていない。「ext」フォルダが存在していないなど。
「PDO」「mysqlnd」「mysqlnd」「mysqli」が読み込まれているか。
これがない場合は、php.ini で「extension=mysqli」「extension=pdo_mysql」の拡張機能を使用するようにしていない。
「php_pdo_mysql.dll」「php_mysqli.dll」が存在していないなどが考えられる。
データベース(MySQL Server) 機能の確認
MySQLのサービスが実行されているか。
MySQLのデータベース、アカウント情報などは正しいか。
データベース名、アカウント名、パスワード、権限など。
実際に次のような php を配置してデータベースに接続できているかなどを確認してみる。
<?php
$dsn = 'mysql:dbname=データベース名;host=127.0.0.1';
$user = 'アカウント名';
$pass = 'パスワード';
try {
$dbh = new PDO($dsn, $user, $pass);
echo "接続に成功\n";
} catch (PDOException $e) {
echo "接続に失敗\n";
echo $e->getMessage() . "\n";
}
?>