Web サイトを閲覧中に「 Internal Server Error HTTP 500」の画面が表示されたことはありますでしょうか。
急にこんなエラー画面がでてきたら、何か悪いことをしたかと、ドキドキしてしまいますよね。
今回の記事では「 Internal Server Error HTTP 500」とは何かを解説。あわせて HTTP500の解決方法をご紹介いたします。
目次
- Internal Server Error HTTP 500 とは
- Internal Server Error HTTP 500 の考えられる原因
- PHP エラー時の解決方法
- その他でエラーがある場合
- さいごに
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
Internal Server Error HTTP 500 とは
Internal Server Error HTTP 500 とは、閲覧しているウェブサーバー上でエラーが起きており、ウェブサイトが正しく表示できない状態のエラーコードです。
Web サーバーやブラウザによって画面に記される文字が変わりますが、内容に違いはありません。
- Internal Server Error
- 500 Internal Server Error
- HTTP 500
- 500 Error
- 500 – Internal Server Error
- HTTP 500 – Internal Server Error
エラーは発生しているものの、具体的な原因が明らかになっていない場合、 Internal Server Error HTTP 500 の画面が表示されます。
サイトの閲覧者は何もすることができないので、しばらくたってから接続し直してください。
またはページの再読み込みをしたり、ブラウザのキャッシュを削除したりすることで改善する場合もあります。
いつまで経ってもエラーが改善しない場合、サイト管理者の連絡先がわかれば報告し、原因を探ってもらいましょう。
Internal Server Error HTTP 500 の考えられる原因
Internal Server Error HTTP 500 の画面が出てしまう原因として、以下のようなケースが考えられます。
サーバーの運営者は、以下を参照に問題点を洗い出しましょう。
記述・設定に誤りがある
PHP や .htaccess の記述に誤りがある、パーミッション(アクセス許可)の設定に誤りがあるなどの場合、 Internal Server Error HTTP 500 のエラーが出ることがあります。記述・設定を見直しましょう。
PHP や .htaccess の記述について、具体的な方法は後述します。
複数ドメインでのサイト運営により負荷がかかっている
同一のアカウントで複数のドメインを取得してサイトを運営していると、多数の CGI( Web サーバーが Web ブラウザなどの要求によってプログラムを実行する仕組みの)が動くことになり負担も増えます。
負荷によりエラーが起きると、運営しているサイトにもエラーが出てしまうのです。
この場合、負荷が大きいプログラムを特定して削除するか、ドメイン(運営しているサイト)を減らして負荷を分散するなどして解決を図りましょう。
アクセス集中による内部サーバーエラー
Web サイトにアクセスが集中し処理できない場合、内部サーバーエラーが出ることがあります。
この場合はアクセスが落ち着くまで待つのが最善の方法です。
もし今後もアクセスの集中が考えられるのであれば、サーバーの容量を増やすなどの対策を練りましょう。
特に法人サイトの場合はアクセスが大量に集まる可能性があり、サーバーに負担がかかることもあります。その場合は、 CPI の共用サーバー SV-Basic がおすすめ。
ドメインごとにユーザー領域を設けることで集中的なアクセスに強く、設定やメンテナスは提供側で行うため、初心者でも使いやすいサーバーです。
▶︎CPI の共用サーバー「 SV-Basic 」が法人に選ばれる CPI ならではの特徴|2020年容量アップグレード!
PHP エラー時の解決方法
PHP が原因で、HTTP500エラーが出力される場合は、PHP のエラー出力を On に設定変更し、どこでエラーが出ているかを確認します。
(注意)この設定変更は記述を間違えると、全てのページでエラーになりますので、必ずテストサーバーで検証してください。
CPI サーバーの場合
php.ini ファイルを、ウェブサーバーに設置し、下記コードを変更します。
( php.ini 設置方法は CPI オンラインヘルプ「 PHP の設定変更方法」を参照ください)
display_errors = Off ↓↓↓下記に変更 display_errors = On
.htaccess に記述する場合
* CPI サーバーの場合動作いたしません。
.htaccess に下記のコードを追記します。
php_flag display_errors on
上記コードを追加すると PHP のエラー原因、ファイル名、行数が表示されます。
このエラーをヒントにプログラムを修正してください。
エラー解除後は PHP のエラー出力をオフに戻してください。
その他でエラーがある場合
その他でエラーがある場合は、サーバーのログを確認すると良いでしょう。
CPI サーバーの場合は「 /log/ssl-error_log 」か、「 /log/httpd-error_log 」を確認ください。
[日時] [alert] [client 60.***.***.***] /usr/home/****/html/test/.htaccess: Invalid command 'php_flag'
上記のようにエラーが確認できましたら、ログをヒントにソースコードを修正してください。
今回の場合は「 .htaccess 」にエラーがあるようです。
さいごに
HTTP500 エラーが出力される場合は、プログラムのどこかに記述ミスがあることがほとんどです。
エラー出力や、ログ確認を行うか、最近修正したファイルを確認すると良いでしょう。
最近修正したファイルは、サーバーコンソールにログインし下記コマンド実行すると、確認することができます。
find ./ -type f -mtime -15
サーバーコンソールへのログインは CPI オンラインヘルプを参照ください。