ウェブサイトの「500 Internal Server Error」を修正する方法

ウェブサイトで500 Internal Server Errorが発生した場合、通常はサーバー側の問題を示しており、PCやインターネット接続の問題ではありません。このエラーに遭遇したインターネットユーザーは、実際に何が原因であるかを知らないかもしれません。
一般的に、5xxタイプのエラーはHTTPステータスコードであり、ウェブサイトのサーバーに何らかの問題があることを意味し、サーバー自体が正確なステータスを指定していません。
さらに読む: 502 Bad Gatewayエラーとは何か(およびその修正方法)
500 Internal Server Errorの原因
この一般的なエラーコードは通常、ウェブサイトまたはサーバーの設定ミスに関連する問題を示しますが、正確な原因を特定することはできない場合があります。このような場合、ウェブサイトは訪問者にエラーページを表示します。以下の写真のように。

ただし、エラーは異なる方法で表示される場合があり、各ウェブサイトは独自のメッセージをカスタマイズできるため、次のようなさまざまなメッセージが表示されることがあります。
- 500 Internal Server error
- HTTP 500 Internal error
- Internal Server error
- HTTP 500 – Internal Server error
- 一時的なエラー (500)
- HTTP Error 500
- 500 Error
- エラーが発生しました
ファイルシステムやウェブサイトを支えるサーバーに問題が発生した場合、ウェブサイトのすべてのページでこのエラーが発生します。
500 Internal Server Errorの主な原因には以下が含まれます。
- ページまたはウェブサイトのプログラミングエラー
- フォームの失敗などのスクリプトの問題
- ディスクの故障や機能しないソフトウェアモジュールなどのサーバーの障害
- ウェブサイトファイルが保存されているファイルシステム
- ホストサーバーの問題
- サーバーに接続しているコンピュータからのトリガー
500 Internal Server Errorのトラブルシューティングと修正
500 Internal Server Errorは一般的で、特に多くのユーザーが同時に異なるページを読み込んでいる高トラフィックのサイトでよく見られます。YouTubeがその良い例です。
同時に動画にアクセスして再生しようとする数百万のYouTubeユーザーが500サーバーエラーを経験することがあります。これは彼らのインターネット接続のせいではなく、YouTubeがハッキングの試みやホスティングサーバーの問題などの問題を抱えている可能性があります。

500エラーのトラブルシューティングは、多くの可能性のある問題が原因であるため難しい場合がありますが、解決のために試すことができるいくつかの方法があります。
初期修正
- リロードまたは更新ボタンをクリックしてウェブページを再読み込みします。Ctrl + RまたはF5を押すか、URLを再度試してみてください。エラーがサーバーにある場合でも、問題は一時的なものである可能性があります。
- ブラウザのキャッシュをクリアします。ウェブページのキャッシュされたバージョンに問題がある場合、500 Internal Server Errorが発生することがあります。これは稀なケースですが、キャッシュをクリアするとエラーが解消されることがあります。
- ブラウザのクッキーを削除します。サーバーエラーの問題は、エラーが発生しているサイトに関連するクッキーを削除することで解決できる場合があります。これを行った後、ブラウザを再起動し、再度サイトにアクセスしてみてください。
- 待ってみる。時には、ウェブサイトが正常に動作するまで数秒または数分待つ必要がある場合があります。
504エラーとして扱う
時には、ウェブサーバーが500 Internal Server Errorを表示することがありますが、実際には504ゲートウェイタイムアウトエラーを表示すべきです。504エラーは、サーバーがウェブページを読み込む際やブラウザからのリクエストを処理する際に、アクセスしている別のサーバーからのタイムリーな応答を受け取れない場合に発生します。この場合、別のサーバーが正常に動作していないか、ダウンしている可能性があります。
ウェブサイトの修正
ウェブマスターにとって、ウェブサイトの500 Internal Server Errorを修正するには、さまざまなアプローチと方法が必要です。これらのエラーのほとんどはサーバー側にあり、以下のような理由による可能性があります。
- 1つ以上のファイルまたはフォルダーの不正な権限。これを解決するには、ディレクトリまたはファイルの正しい権限をリセットします。
- 外部リソースのタイムアウトによるPHPタイムアウト。タイムアウトオプションを設定するか、タイムアウト値を増やすことでこれを修正します。これにより、リモートサーバーはタイムアウトエラーを返さず、リクエストが処理されるのを待ちます。
- .htaccessファイルの設定ミス。 .htaccessファイルのコーディングエラーやURLリライトのエラーは、ファイル内のコードや設定ミスを特定して修正することで解決できます。
Joomla、WordPressなどの一般的なコンテンツ管理システム(CMS)を使用している場合は、エラーの詳細なトラブルシューティングについてサポートセンターを確認してください。また、特定の状況に応じたさらなる支援については、ホスティングプロバイダーに確認することもできます。
エラーログ
サーバーの問題をデバッグする別の方法は、エラーログを確認することです。これを行うには(cPanelを使用している場合):
- Shared Hostingタブを使用してcPanelにログインします。
- Metricsをクリックします。
- エラーアイコンをクリックします。ウェブサイトのエラーメッセージのリストが表示され、日付と時刻、エラーを受け取ったクライアント、説明、エラーを生成したファイル/フォルダーなどの詳細が表示されます。
取得したエラーに関する情報に基づいて、CMSやホスティングプロバイダーから特定のトラブルシューティングの支援を受けることができます。
最近インストールしたテーマやプラグインを確認

一部の500エラーは、プラグインやテーマとの互換性の問題が原因で発生することがあります。エラーがプラグインやテーマをインストールまたはアップグレードした直後に発生した場合、それを無効にするか、以前のものに戻すことで修正できます。
どのプラグインがエラーを引き起こしているかわからない場合は、すべてのプラグインを無効にし、エラーが再発するか確認しながら1つずつ有効にします。
サーバー管理者に助けを求める
エラーに関するサーバーのドキュメントを読むことができますが、これらの解決策がすべて役に立たない場合は、サーバープロバイダーにさらなるトラブルシューティングを依頼してください。彼らはあなたのエラーログにアクセスし、問題の根本原因を特定できます。
これらの解決策のいずれかが機能しましたか?下のコメントで教えてください。