レンタルサーバー選びの迷いを解決!全力サポートします

Google or AdMax Promotion (srv)

phpinfoは動くのにWordPressインストールが真っ白な場合に確認したい事の”一つ”

ここではWordPressのサーバー(Apache,PHP)のバージョンを上げ、
新しい環境で既存のローカル環境を移行する過程で遭遇したパターンで、
Apache、PHPのインストール後にWordPressの表示が真っ白になった際の確認手順をご紹介します。

phpinfoは動くのにWordPressインストールが真っ白な場合に確認したい事

今回の「WordPress真っ白な件」は、
既にインストールし稼働しているローカル環境のデータを、
バージョンアップしたApache、PHP環境に移行する際に遭遇したものです。

function.phpやプラグインを変更した直後に、
「WordPress真っ白」とは別の話になりますのでご注意ください。

wp-whiteout-settingmiss-mysqllib_st01

インストール済みWordPressが真っ白・WordPressインストールが真っ白

 

結論は拡張ライブラリの設定ミス

最初に結論から申し上げますと、単なる設定ミスです。

サーバー設定やらなんやらで動かない理由なんて大半がそれ。
ミスと認識しているか否かは別として分からないまま設定をいれて動かないとかもよくあるもの。

今回は「php.ini」の「extension=xxx」設定に誤りがあって、
正しく拡張ライブラリの読み込みができておらず、

MySQLとの接続に失敗したために「WordPress真っ白」な結果になっていたというだけでした。

今回は「php-5.6.36-Win32-VC11-x64.zip」をダウンロードしてインストールしました。

PHP: DownloadsPHP For Windows: Binaries and sources Releases

Zip [22.08MB] sha256: 44126577080726d1f486a060ada43d3f2d8539a718ae62c14241713425e47cce

ApacheはスレッドセーフなのでThread Safeとなっているものをダウンロードします。

ダウンロードしたファイルを展開したら、
「C:\」などに適宜フォルダを置きインストールを行います。

今回はそのままのフォルダ名「php-5.6.36-Win32-VC11-x64」としましたので、
パスは「C:\php-5.6.36-Win32-VC11-x64」となっています。

PHPのフォルダ内(C:\php-5.6.36-Win32-VC11-x64)には、
「php.ini-development」又は「php.ini-production」という
php.iniのひな形が用意されています。
どちらかのファイルをコピーしてから「php.ini」にリネームしてphp.iniを作成します。

MySQLを利用する場合には編集して、
拡張ライブラリのある場所を指定する必要があります。

; extension_dir = "ext"

extension_dir = "C:\php-5.6.36-Win32-VC11-x64\ext"

フルパスで指定
※「php-5.6.36-Win32-VC11-x64」部分は、
PHPをインストールしたフォルダ名で「php5」など何でも可。

なんか、この「extension_dir = "ext"」の記述、
phpのフォルダ内にあるだけに、変更しなくても相対パスで動くような気がしません??

ダメなんですね。
ちゃんとインストール(フォルダ配置)したフォルダ名を含むよう、
フルパスで指定してあげる必要があるんです。

テンプレートには元から以下の様な書かれ方をしているのです。

; On windows:
; extension_dir = “ext”

コメントアウトするだけでいいような書きっぷりにハマります・・・。
ちゃんとフルパス指定です。
相対パス指定ではうまく動きませんでした。

 

知ってる人には当たり前。

それでもWordPress真っ白とかだと、気づくのは意外に大変だったりするわけで。

パスさえあっていればこんな長ったらしいフォルダにする必要はないですけど、
フォルダ名変えちゃうと元のzipファイルが何だったのか分からなくなるので、
個人的にはそのまま使う方が好みなだけです。

 

その他、ライブラリの読み込みを有効にするのはお約束です。

;extension=php_mysql.dll
;extension=php_mysqli.dll

コメントアウトを外して有効化。

extension=php_mysql.dll
extension=php_mysqli.dll

PHP側でMySQLを使うには、これだけの設定で完了。

 

お約束のphpinfoの確認をするも、MySQLの項目は表示されていない

パスの設定だけならすぐに気づけよと言われそうなのですが、
php_mysql.dllの読み込みがされているか、されていないのかは、
phpinfo出力の以下の違いで判断できます。

正しく「php_mysql.dll」の読み込みが出来ていない場合には、
phpinfoをMySQLで検索しても「mysqlnd」という項目しか表示されていません。

wp-whiteout-settingmiss-mysqllib_st02

phpinfoは動くもMySQLがない・WordPressインストールが真っ白

 

この時の「core」という部分に表示された「extensions_dir」は、
初期php.iniのコメントアウトを外した「ext」となっています。

wp-whiteout-settingmiss-mysqllib_st03

extensions_dirが初期のext・WordPressインストールが真っ白

 

「extensions_dir」に対してフルパス指定を行ってブラウザを更新し再度確認します。
※Apache再起動必要。

正しく「extensions_dir」に対して「C:\php-5.6.36-Win32-VC11-x64\ext」が表示されました。

wp-whiteout-settingmiss-mysqllib_st04

extensions_dirパス指定後・WordPressインストールが真っ白

 

設定が正しく行えている場合は、
phpinfoをMySQLで検索すれば「mysql/mysqli」が表示されるようになります。

wp-whiteout-settingmiss-mysqllib_st05

mysql項目が表示・WordPressインストールが真っ白

 

これでWordPressの真っ白症状から解放されました。

phpinfo()が動くならApacheはPHPを実行可能な状態

Apache側でPHPをApacheモジュールとして実行するのであれば、
phpinfo()が実行できることの確認できていればそれでいい。

wp-whiteout-settingmiss-mysqllib_st06

phpinfoは表示できる・WordPressインストールが真っ白

 

もし、phpinfo()も確認ができないという事であればApache側の設定になります。

httpd.confにPHPのインストール先のディレクトリ指定と、
PHPのライブラリ読み込みが適切に設定できているかを確認します。

 

プロモーション

Google or AdMax Promotion (srvpos)

phpinfo()って、そもそもどうやって表示するのか

あまり必要はないと思いますが、一応補足をしておきます。

サイトの公開ディレクトリ直下(例-C:\Apache\htdocs)などに、
phpinfo.phpという空ファイルでも作成します。

ファイルをテキストエディタで開き、以下のように記述し保存します。

後は、ブラウザからphpinfo.phpにアクセスして表示する。それだけです。

私は好みで「phpinfo.php」としてファイルを作成していますが、
hogehoge.phpでもなんでも構いません。

例では「http://(ドメイン)/phpinfo.php」として表示しています。

お使いの環境によって異なりますが、以下の方が一般的かもしれません。

http://127.0.0.0/phpinfo.php

http://localhost/phpinfo.php

 

尚、本記事は以下のコンテンツの一部になります。


AdMax Promotion

公開日:

コンテンツナビ
すべて展開 | すべて省略

AdMax Promotion

カテゴリ
すべて展開 | すべて省略

QRコードからもこのURLを開けます。