PHPのHTTP 500エラーの調べ方

PHPのバージョンが異なるサーバーでプログラムを動かしたところ、HTTP 500エラーが発生しました。

このエラーは、PHP側でエラーがあると発生するエラーです。

テスト環境では動作しているため、PHPバージョンの違いによる問題なのは明らかです。

ただ、サーバーのPHPのバージョンを変えられない場合、プログラム側で修正を入れなければいけません。

その場合、手掛かりになるのはサーバーに残る「ログ」です。
ところが、サーバーの設定によっては、多少のエラーはログに出力されない場合があります。

今回も、そんな状態で調べあぐねていたのですが、ググってみると解決方法がありました。

エラーログをPHP側から強制的に出力させる

PHPに以下のコードを入力しておくと、エラーが強制的に出力されるようになります。

エラーを画面に強制出力する設定と、エラーログに強制出力する設定です。

エラーの原因がわかれば後は簡単です。

早速PHPのプログラムに、上記の設定を盛り込んで動かしてみたところ、単なる文法エラーでした。PHPのバージョンによってはエラーにならない文法でしたが、バージョンが違うと、このようなことも起きます。

文法エラーを直し動作させたところ、HTTP 500エラーが解消されました。

調査が終わったら、エラー出力設定は削除しておきましょう

今回の設定は、エラーログを大量に出力することになるため、普段はオフにしておく必要があります。

画面にエラーメッセージが大量に出てきたり、サーバーに負担をかけたりするためです。

あくまでも原因調査のための一時的な設定にしておきましょう。

今回のレポートは以上です。
読んでいただいてありがとうございました。


ホームページに関するお悩み事やご相談事がございましたら私どもまでご連絡ください。 鋭意ご対応申し上げます。
ホームページのご提案もさせていただいております