気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. PHPエラーの原因と対策
  2. 143 view

「HTTP 500 内部サーバー エラー」と表示されるとき

レンタルサーバーに配置したスクリプトでエラーが発生した場合、「HTTP 500 内部サーバー エラー」と表示されるだけで、「Fatal error:…」の具体的なエラーメッセージは表示されないのが普通です。

○HTTP 500 内部サーバー エラー
HTTP 500 内部サーバー エラー

この「HTTP 500 内部サーバー エラー」は、「詳しいエラーの内容は表示しませんが、とりあえずエラーが発生していることだけお伝えします」という趣旨のメッセージです。

これは不親切ではなく、実運用環境ではエラーメッセージを表示しないというセキュリティを考慮した運用です。エラーメッセージはハッカーなど悪意のあるユーザーに役立つ情報が多く含まれているためです。

こうしたエラーはテスト環境で検証して修正するのが筋ですが、応急処置として、配置先のレンタルサーバーでエラーを表示させてスクリプト修正の手がかりをつかみたい場合、次のコードをスクリプトの先頭に記述して一時的にエラーを表示させる方法もあります。

<?php
ini_set("display_errors", On);
error_reporting(E_ALL);
…

2つ目のerror_reporting…は記述しなくてもエラーメッセージが表示される場合もあります。あくまで応急処置なので、くれぐれもスクリプトの修正後に上記の設定をそのまま残さないようにしてください。

定番のエラーメッセージを予習したい方におすすめの本

「HTTP 500 内部サーバー エラー」に限りませんがPHPスクリプトの作成は「エラーとの闘い」です。自由にコードを入力するのは簡単ですが、時間がかかるのは「なぜ正しく表示されない?」「どこがおかしい?」の解決です。これから出会うかもしれないエラーを予習しておきたい方にはこの本をおすすめします(私が書いた本ですが)。定番のエラーや入力ミスの訂正などをクイズ風にまとめてあります。暇なときに読んでみてください。
「PHP「直す力」養成ドリル」について詳しくはこちら

PHPエラーの原因と対策の最近記事

  1. PHPの関数や変数の前にあるアットマークの意味は?

  2. 「http:// wrapper is disabled in the server co…

  3. php.iniの場所

  4. 「Warning: array_key_exists()」と表示されるとき

  5. 「Warning: A non-numeric value encountered」と表示…

関連記事

PAGE TOP