WordPress導入時に重大なエラーが発生した場合に確認すること

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 のパスが表示されているか。

php-info-loaded-configuration-file

パスがない場合は、 httpd,conf などで「PHPINIDir」のパス設定がされていない。
php.ini 自体が存在していないなどが考えられる。

「extension_dir」のパスが設定されているか。

php-info-extension-dir

パスがない場合は、php.ini で「extension_dir」の パス設定がされていない。「ext」フォルダが存在していないなど。

「PDO」「mysqlnd」「mysqlnd」「mysqli」が読み込まれているか。

php-info-pdo
php-info-mysqli
php-info-mysqlnd

これがない場合は、php.ini で「extension=mysqli」「extension=pdo_mysql」の拡張機能を使用するようにしていない。
「php_pdo_mysql.dll」「php_mysqli.dll」が存在していないなどが考えられる。

データベース(MySQL Server) 機能の確認

MySQLのサービスが実行されているか。

task-man-mysql-service

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";
	}
?>