PHPの500エラーって何?

PHPの500エラーって何?

PHPに限らず?

他にも404エラーとか。

って方向けの記事です。

PHPの500エラーとは

WEBブラウザでWEBサイトを開いたとき、URLを元にHTTP通信を行い、対象のページを構築しサーバーから返してもらいます。

そのとき、プログラムが間違っていてHTMLを構築処理を継続できない状態になることを500エラーといいます。

500というのは見て分かる通りコードです。

HTTPのレスポンスコードといいます。

 

平たく言えば、そのWEBサイトは「バグってる」ってことです。

 

ちなみに404エラーというのも同じとうにHTTPのレスポンスコードです。

404はURLで指定したページが無い場合に返すコードになります。

PHPの500エラーの原因

原因の多くは動作しているWEBアプリケーションが壊れているだけです。

ただ稀にサーバーを動かすApacheなどに不具合が発生しエラーになるケースもあります。

今まで正常に動いていて、何も触っていないのに急に動かなくなった場合はこのケースでしょう。(一応サイトのプログラムも確認はしてね)

その場合はWEBプログラマーとしてはどうしようもありません。

サーバー会社の復旧を待ちましょう。

 

Apacheと言っても、.htaccessに関してはこちらで操作するものです。

そこに不具合が無いかは確認が必要です。

あとディレクトリのパーミッションもそうですが、このケースはあまり見たことないです。

 

そして最初にも書いたように、大半の原因はWEBアプリケーションを構成しているプログラムにあります。

どのページでエラーになったか。

1ページだけならそのページを開くときに実行されるプログラムを追いかけます。

全てのページなら共通部分にエラーがある可能性があります。

 

どこでエラーが出ているか分からない場合は

で特定するような人も多いですが、プログラムを見た方が早いし勉強になります。

自分で作ったものならある程度把握できるでしょうし。

なんでもかんでもツールに頼らないほうがいいと思います。

PHPの500エラーを意図的に発生させる

500エラーですが、まったく発生しないWEBサイトなんて世の中にありません。

100%バグの無い開発をお客さんは求め、それに答えるようにしっかりテストする必要はありますが、どうしてもバグは出てしまうものです。

そういった予期せぬ不具合が発生した場合にも、それすらも想定してエラーハンドリングしたりする必要がエンジニアには求められます。

 

そうなると当然500エラーのバグが発生した場合のテストも必要になります。

意図的に500エラーにする必要があるわけですね。

そんなときはヘッダー関数で以下のように定義すると500エラーになります。

何かの参考になればどうぞ。

まとめ

500エラーはWEBシステムの不具合。

WEBシステムと言っても、WEBサーバーアプリケーションのApacheや、サーバー設定の不具合の可能性もあります。

自分の手の届かない(権限の無い)場合はサーバー管理者に問い合わせましょう。

しかし大半は自分で作ったプログラムに問題があります。

バグを特定して直してしまいましょう。

コメントを残す

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

CAPTCHA