特に大きな変更をしたわけではないのですが、気になったので、あれこれ調べて試しても効果がなかったので、サーバーの運営会社(さくらインターネット)に問い合わせました。
HTTP500エラーが発生する主な原因
- .htaccessの「記述」「書式」「文字コード・改行コード」に問題がある
- PHPに関する設定をphp.iniにせず、.htaccessに PHP_Flag や PHP_Value など記述している
- CGI・PHPのパーミッション等、設定に誤りがある(705 または 755 に設定していない)
- CGI・PHPプログラムが正しく動作していない
php.iniでエラー内容を表示
さくらインターネットからは一般的な回答だったのですが、1つ興味深い設定を教えてくれたので、紹介します。
php.iniに display_errors=on と記述して保存することで、エラー内容が表示されます。
さくらインターネットの場合の設定方法
- サーバコントロールパネルへログイン
- 「PHP設定の編集」をクリック
- display_errors=on と記述し、「保存する」をクリック
これで、今までHTTP500エラーが表示されていたサイトをリロードすると、エラーが発生している場所が表示されました。
原因はプラグイン
あまり使っていなかったプラグインが原因でしたので、FTPソフトを使って手動でディレクトリごと削除しました。
そして、再びサイトをリロードすると、今度はきちんと表示されました。
1週間くらい悩んでましたが、サーバー会社のサポートのおかげで助かりました。
HTTP500エラーの原因は多々ありますが、エラー箇所すら見つけられずに手探りの状態だったので、エラーの表示はとても役に立ちます。
ですが、万が一エラーが表示されて他の人に見られるとハッキングのヒントにもなりかねないので気をつけましょう。
]]>
コメント