500 エラーは主に以下の2つの原因で発生します。
- スクリプト(PHPコード)のエラー
- ホスティングサービスの問題
500 エラーは非常によくある問題であり、その原因の特定はイベントログの確認から始める必要があります。イベントログには、スクリプトの実行中に発生するすべてのエラーが含まれており、その発生原因が表示されます。
ログを確認するには、FTP またはホスティングコントロールパネルのファイルマネージャーを介して、以下のパスにあるファイルを開いてください。
FTP経由での確認
/logs/error_log
ファイルマネージャー経由での確認
ファイル -> ホームディレクトリ
/logs/error_log
開発者ツール
ホスティングコントロールパネルでは、各ドメインに「開発者ツール」というサブセクションがあり、そこでPHPバージョンを設定したり、Gitを構成したり、「ログ」を確認したりできます。
ログ を開き、フィルターで以下の2つのパラメーターのみを選択してください。
- Apache エラー
- Nginx エラー
エラーが発生しているページまたはウェブサイトにアクセスし、ログに新しいイベントがないか確認してください。エラーの原因がそこに表示されます。
データベースサービスが利用できない場合など、特定の状況では500エラーも発生することがあります。これは、特定のイベントに応じてグローバルまたはローカルにトリガーされる可能性があります。
ウェブサイトでのエラー表示
ウェブサイト自体でグローバルなエラー表示を有効にすることもできます。これは、ログに見つかったすべてのイベントがページ上に直接表示されることを意味します。これを行うには、「PHP」設定を開き、「display_errors」オプションを「On」に設定してください。
デフォルトでは、このオプションはセキュリティ上の理由から無効になっています。エラーには、脆弱性を見つけるために利用される可能性のある情報が含まれることがあるためです。開発中は便利かもしれませんが、このオプションを恒久的に有効にしないでください。
ログを使用することで、エラーの原因を正確に理解し、それを解決することができます。