さくらレンタルサーバーで白い500 Internal Server Error エラー画面が出たときの対応


wordpressで白い画面が出て困ってしまいました。あとはエラー500 Internal Server Errorがでました。

HTTP エラー 500(Internal Server Error): サーバーによるリクエストの実行中に、予期しない状況が発生しました。

こういう時はwordpress内のphpで何らかのエラーが発生している可能性があります。そこで、まず原因調査のためにエラーログをみるという手段がよいです。

しかし、

さくらレンタルサーバーのエラーログというのはどうやって見ればいいのかわかりません。

と思って検索したら載っていました

php.iniに以下のように記述します。

display_errors="0"
error_reporting="2047"
log_errors="1"
error_log="/home/アカウント名/log/phperror.log"

さくらのサーバでWordPressが真っ白になってしまった場合の対処法
http://blog.creamu.com/mt/2010/05/wordpress_12.html

上記サイトを参考にやってみました。

php.iniの編集

さくらレンタルサーバーのコントロールパネルにログインしてPHP設定の編集を選択します。
さくらレンタルサーバーコントロールパネルからPHP設定の編集

するとどうやらフォームからphp.iniを設定できるみたいです。
さくらレンタルサーバーphp.iniを設定

display_errors=”0″
error_reporting=”2047″
log_errors=”1″
error_log=”/home/xxxxxxx/log/phperror.log”
output_buffering = On

(おまけ:display_errors=”1″とかにするとたぶんwordpressエラーのページにそのままエラーメッセージを吐いてくれる気がします)

logディレクトリの作成

ボクのサーバーにはまだlogというフォルダがないので作りました。おそらく参考サイトの設定だとlogディレクトリを作らないとエラーが書き込まれないはずです。

ディレクトリを作ったら、白いエラー画面がでるページをブラウザから表示しました。すると/home/アカウント名/log/phperror.logというファイルにエラーメッセージが書き込まれています。

ここはあくまで予想なのですが/home/アカウント名/logというlogディレクトリの配置をまもってlogディレクトリの指定をしたほうがいいとおもいます。

ちなみに、さくらレンタルサーバーは管理画面からではなくFTPクライアント経由でlogディレクトリを作成しました。なぜかわかりませんが、管理画面のファイルマネージャからはlogディレクトリの上位ディレクトリまで参照ができなかった気がします。

再びブラウザからアクセス

エラー書き込みの設定をしましたので、
500 Internal Server Errorがでたページに再びアクセスします。

500 Internal Server Errorが表示されれば、おそらく先ほど設定した/home/アカウント名/log/phperror.logにphpのエラーログが書き込まれているはずです。

エラーログを検索してエラーを解消すれば問題を解決できます。

解決

エラーメッセージから対策を考えた結果なんとかなりました。今回のエラーはphp.iniにout_buffering = Onと書くことによって消すことができるエラーだったみたいです。

よかったよかった。

もしこの手法で500 Internal Server Errorを解消できないとしたら? > それは500エラーがphpと関係ないところで発生しています。さくらレンタルサーバーのサポートに問い合わせてみるといいとおもいます。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です