「500エラー」って、CGI「ウェブサーバ上でユーザプログラムを動作させるための仕組み上のエラー」とwikiで言ってます。難しいし意味が解りにくいと感じませんか?
言い方も色々あって「HTTP500エラー」「500 error Internal Server Error」「500サーバーエラー」「内部サーバーエラー」…何!?って思いますよね。その意味と原因、対処・解決法、未然に防ぐために何をすれば良いかが解るページです。
ブログでエラーを出した時に見るブラウザの「エラー表示画面」と、レンタルサーバーの「500 Internal Server Error画像」に原因の説明を載せて説明文に、補足を加えました。
- 訪れたページが真っ白または、このエラーだったとき
他のサイトを見れるなら、運営者側のミスなどでエラーがでてます。今必死になって直しているトコロでしょう。(生)あたたかい目で見守ってくださいね^^
たまに運営者のミスではない場合もあって、ブラウザをEdgeからChromeに変えたら表示する場合、キャッシュやcookieを切ると表示される場合もあります。
LINK普段見てるページにエラー・不具合があったとき、試してほしいこと
この500はステータスコードと言います。参考まで。
解決しましたら、このページの最後の見出し『アンケートのご回答』にご協力お願いします_(._.)_
目次
HTTP 500 内部サーバーのエラーとは何!?
HTTP 500エラーは、ブログ運営者のPHPの記載ミスや文字コードなどの設定ミス、プラグインやテーマとの競合などで『プログラム的にお手上げな打撃』を与えてしまい、レンタルサーバーの内部で処理ができないときにおこるエラーになります。
ブログのページが表示できない状態になったので、エラー画面を表示させてる感じですね。
500番台のエラーはサーバー側に問題があるエラーです。
HTTP500エラーはperlやphpなどのCGIの記述ミスが殆どで、簡単に言うと「ホームページの作り方(書き方)に問題があって表示できません」という事です。サーバのダウンが原因と回答されている方がいますが、そもそもサーバがダウンすれば500エラーを返すことができないので、ありえない話です。
500エラーが返るのは、サーバが正しく動いている(ダウンしていない)証拠です。
(ざっくり補足)
- CGI
- サーバーに置かれたプログラムを動かすしくみ。
その仕組みがあるページにアクセスしたら、サーバーはページをが表示させるため、プログラムを起動!ブログファイルであるPHPなどのプログラムを読み込んで処理。
リクエストされた(アクセスした)ページの『結果(知りたい情報)を表示』させるため、プログラムを起動し処理してページをお届けするとき活躍する。
それが一気に稼働しすぎると、キャパ:容量が足りなくなり『メモリ・タリナイ…_ピポパポ・ポ~ン!』こうして、エラーを出すこともある。
- PHP
- 例えば、スマホからのアクセスなら(条件)コレを表示(処理)など、A条件なら○○を、B条件のとき△△を、それ以外は××を表示させる。と、HTMLの中に細かい命令を書いたりできる言語系プログラム。
書き間違いがあると、プログラムを動かすCGIが処理をしようとして『コノコード・ヨメナイ_ショリ・デキナイ・ム~リ_ポ~ン!』などと、エラーを出す。
初心者が解るFTPソフトの記事『PHPファイルは、ブラウザにブログを表示させる』でデータファイルを読み込み、ブラウザに表示する流れをサッと書いてます。参考まで。
HTTP500内部サーバーエラーの原因は!?
500エラーの原因は、エラーコードを表示させれば大体のエラー箇所はわかります。大きく分けて4種類のエラーの原因があり、ざっくり下記が大半かなと。
- PHPの記載ミス
運営者の致命的な文法ミスでエラーが出た
- 半角で書くところ、全角になっている
- おかしな所にスペースが入っている
- 囲み忘れ”hoge”など
LINKブログが真っ白!エラー原因は全角・閉じ忘れ・親子テーマの競合!?2通りの復元方法&今後の対策!!
- 文字コードの設定ミス
.htaccessやwp-config.phpなどのファイルをFTPでアップしたときのエラー。
UTF-8NでアップするところをUTF-8(winPCのメモ帳)でアップするとエラーが出て管理画面さえ入れない。
LINK文字コードUTF-8のbomとは何!?WordPressのエラー防止対策はUTF-8Nって話
FTPソフトで、ファイルをアップする時の工程が間違っている場合もあります。触ってた工程を確認してください。
- 内容が複重しちゃって(競合で)エラー
- テーマのfunctions.phpに書いてる内容と同じ記載を書いた(親子テーマの競合など)
- functions.phpの記載内容と同じ機能をもつ、プラグインを入れた
- (同じ機能を持つ)プラグイン同士の競合。
- ブログはエラーで表示されないけど、管理画面に入れる場合もある。
functions.phpで出したエラーは、一撃で真っ白になって管理画面にも入れません。
LINKプラグインが競合!ブログを簡単に表示させる為の3つ対処方法
- パーミッションの設定のミス
PHPで上記の「ミス」があれば、プログラムを動作させるための仕組み(CGI)で処理できずサーバーはブログを表示できません。
そこでサーバーは「HTTP500エラー」を返すワケです。
LINKヤバイ!初心者向けで凄い解るHTTPステータスコード301.403.404.500等の意味
運営者のミス「ワンパンチ(記載ミス)でノックアウト(真っ白に)させた状態」って言えば解りやすいでしょうか。
HTTP500エラーを出したとき、詳細なエラー場所が解るまで、やっかいで焦りますよね。ただ場合によって、すぐに元に戻せるエラーでもあります。
エラー解決の近道は、バックアップからの復元
エラーを出していつも思うことは『バックアップの大切さ』です。最新のバックアップデータから復元するのが一番簡単な方法です。
バックアップをとって、PHPや.htaccessなど触る。そこでエラーが出たら、そのファイルのバックアップをFTPから復元すれば、すぐに直ります。
簡易的なバックアップとして、テキストエディタや、メモ帳に編集するファイル内容をコピペしてファイルを触る。エラーに備えサーバーFTPのWeb上にある該当ファイルを開いておく。エラー発生後、サーバーFTPをリロードし、メモしたバックアップをコピペし元に戻すのも近道です。
ですがバックアップをとらず、作業を続けエラーを出すと、どのファイルでエラーが起きたのか解らない事があります。
エラーが出たら、エラーコードを表示!
どこでエラーが出たかサッパリ解らないなら、デバックモードでエラー表示させます。エラーコードの表示方法は2つ。
- サーバーのWEBツール、PHPiniで表示。
- wp-config.php記載する。
- //false非表示、true表示
define(‘WP_DEBUG’, true);
- //false非表示、true表示
エラー箇所がわかるエラーコードを表示する詳しい説明は、エラーコードを表示させる2つの方法をご覧くださいね。
※PHPの構文チェックをして、間違いを教えてもらうのも手かと・・。
500エラーでエラーコードを表示させた時の画面と解決方法
ブログが真っ白な画面になったときは、「500 Internal Server Error」で、Chrome・Firefox・Internet Explorer、どのブラウザも画面上部にエラーコードが書いてる状態です。
- Fatal error: Cannot redeclare・・・
- Parse error: syntax error, unexpected・・・
- 他のエラーコード、メモってない。。プラグインのエラーコードもあり
他にもありますが、HTTP500エラー解決方法は下記です。
LINKエラーコードを表示させる2つの方法、エラーコードで解る事と修正例
LINKプラグインをインストール有効化すると、何故真っ白?どう解決したか!
LINKエラー原因は全角・閉じ忘れ・親子テーマの競合!2通りの復元方法と今後の対策
これでエラーの大半は、直せます。single.phpでのエラーの直し方も同じですけど、ちょっと特殊!?なので書いておきますねっ。
single.phpは、管理画面でエラーが出ない。ブログでエラー確認
single.phpのエラーは公開した各ページを見ないと、エラー出てるのかさえ気付きません。一気に色んなカスタマイズをすると、エラーコードを表示させても、気付きにくい場合もあるので注意が必要です。
1つカスタマイズをしてブログを確認後、違うカスタマイズするのをオススメします。
エラーコードを表示させた画面のスクショ
エラーコードの意味は、「構文エラーがend of fileでおこってますよぉ!/stinger5Ladysのsingle.php 194行目らへん」単語の意味を調べると解るワケです。
実際single.phpの38行目、endifの後ろに変な文字が入ってた事があります。
<?php if ( wp_is_mobile() ) : ?>
<p style=”padding:10px 0;”>本日の人気記事</p>
<?php else: ?>
<p>本日の人気記事</p>
<?php endifい; ?> ←「い」って何!?
スマホで触ってたとき、何かの拍子に入力してしまった、「い」に気付かず更新したのが原因です。ほかには、編集中に記号などを1つ消してしまったなど…。
公開したページのみエラーが出て管理画面では気付かない!
- トップページや管理画面では、エラーにならないファイル
- 投稿ページのみエラー画面に
投稿ページのブログ画面までチェックしましょう!
single.phpに限らないですけど、『エラー箇所が194行目』とあっても、38行目や180行目、192行目など違うことがあると、覚えていてくださいね。
各ブラウザ表示画面に500エラーと表示:エラーコードは非表示設定状態
ブラウザが出してるHTTP500エラーの意味って解りにくいけど、原因で説明したとおりです。それぞれ表示方法が様々でどんな説明してるのか気になって調べました。
初めてエラーが出るとブラウザがどんな表示かも知りたいので、Chrome・Firefox・Internet Explorerの表示の違い、一部レンタルサーバーのHTTPエラー500画面を見てみましょう!
運営者がエラーコードを出さない設定の場合、HTTP ERROR 500など表示されます。なぜこの画面になったかの説明を見ると、個性が見え隠れして面白いし、解りやすいのでご紹介^^
※他の要因で表示が異なる場合がある可能性もあるのが前提です。
Chromeは「サーバー エラー 500 HTTP ERROR 500」
2016年6月現在のブラウザの仕様の変更を確認しました。現在はHTTP ERROR 500。
クロームで見たときの500エラーの表示
サーバー エラー
500
詳細を非表示
「~url~」を取得中にウェブサイトでエラーが発生しました。 ウェブサイトがメンテナンスのために停止しているか、正しく設定されていない可能性があります。
URL先のウェブサイトがどんな様子か、オブラートにつつんだ言い回しが特徴です。”正しく設定されていない可能性”これが運営者の私が構文のミス「ワンパンチ(記載ミス)でノックアウト(真っ白に)させた状態」を下記の様に表示させてます。
“メンテナンスのために停止”これ503で設定するはず…、何かあるのでしょうね。
追記プラグインやWPアップグレードなどの更新中もメンテナンスになりますよね!そのタイミングは、このエラーになった記憶があります。思い出したので追記しました。2016/12/02
追記2016年6月現在のブラウザの仕様は、下記に変更されてます!
ときどき仕様は変わりますけど、現在のエラー画面。
hoge.com ページは機能していません
hoge.com では現在このリクエストを処理できません。
HTTP ERROR 500
IE「Web サイトはページを表示できません HTTP 500」
IEで見たときの500エラー。タブに「HTTP500内部サーバーエラー」※私の環境の場合
Web サイトはページを表示できません
HTTP 500
可能性のある原因:
Web サイトがメンテナンス中である。
Web サイトに、プログラム上の問題がある。対処方法:
ページを最新の情報に更新する。
前のページに戻る。
詳細情報 詳細情報
このエラー (HTTP 500 内部サーバー エラー) は、Web サイトのサーバーに問題があって Web ページが表示できないことを意味します。HTTP エラーについての詳しい情報は、ヘルプをご覧ください。
クロームと同じ内容だけど、ちょっと親切に書いてます。”Web サイトのサーバーに問題があって Web ページが表示できないことを意味します。”上述の原因ですね。
何となく運営者側の都合と、ユーザーさんに伝わる文ですね。
ファイアーフォックスのエラー表示方法は、真っ白
正に真っ白な画面
ただただ真っ白で、ワイルドっ!何も説明されてません。ユーザーさんに500エラーを教えなくってもって事でしょうかぁ??運営者がエラー出してこのブラウザで確認したら、「ブログ 真っ白 なんだこれ」っと困惑するかも知れませんねっ。
レンタルサーバーオリジナル表示「500 error Internal Server Error」
レンタルサーバーが出してる「500 error Internal Server Error」エラー画面の画像表示の違いでレンタルサーバーの個性が出て面白いので見比べました。
※php.iniの設定やデバックモードでエラーコードを出す設定にしてる場合は真っ白画面の上にエラーの箇所が表示される(はずと推測段階、ロリポップのみ確認済み)。
ヘテムルは「500 error Internal Server Error」
500 error Internal Server Error
CGIもしくはSSIが正しく動作していません。
以下の状況が考えられます。
- 指定されたページの CGI が異常終了している。
- 指定されたページの CGI のパーミッションが間違っている。
- 指定されたページの CGI が間違ったモードで転送されている。
- ご利用中のユーザー様は。よくある質問をご参照ください。
- 疑問点などございましたらお問い合わせフォームよりお問い合わせください。
ヘテムルの表示は懇切丁寧で、解決方法のリンクがあって助かりますね!上述の原因と解決方法で大半クリアできそうです。1つ、URLで”指定したページのPHPなどが異常終了している”に関して引用しますね。
- .htaccess にて php_flag, php_value の設定をしていませんか?PHP の設定はコントロールパネルの 「 php.ini 設定 」より行ってください。
- CGI の1行目は 「 #!/usr/bin/perl 」 になっていますか?
これらを設定はいかがでしょうか。WordPress運営してる私はphp_flag, php_valueの設定はしたことないので参考までに引用しました。
Xサーバーは「500 Internal Server Error」
出典:Xserver、500エラーでWordPressが完全にダウン。焦りましたがPHP高速化設定(FastCGI化)ONで直りました。?JetPack/Monitorも活躍|もっと知りたいリンゴあれこれ
アクセスしようとしたページは表示できませんでした。
CGIやPHPなど内部参照におけるエラーの為、目的のページが表示できなかったことを意味します。
以下のような原因が考えられます。
断続的に発生する場合
- CGIの負荷が大きい(CGIプロセスが多数動作している)。
常に発生する場合
- CGIのパーミッション設定に誤りがある。
- CGIのソースコードに問題がある。
- .htaccess の記載に誤りがある。
Xサーバーの500エラーの説明はレンタルサーバーだけあって、使用者「運営者」に解りやすい親切な説明が入ってます。
- 断続的な場合:
たくさんのアクセスがあって負荷がかかって落ちてる - 常にこの状態なら、3つの理由。上述どおりですね。
訂正!たくさんのアクセスがあっての負荷がかかった場合はHTTP 503になります。500とはまた別ステータスコードです。失礼しました。。
LINKヤバイ!初心者向けで凄い解るHTTPステータスコード301.403.404.500等の意味
断続的に発生する場合 CGIの負荷が大きい(CGIプロセスが多数動作している)。この意味は何か説明だけ
Xサーバーの500 Internal Server Errorで”CGIプロセスが多数動作している”とはレンタルサーバーの同一アカウント内に、複数ブログを入れてる状況でしょうね。
サーバーのアカウント内に複数のブログ、独自ドメイン・サブドメイン・サブディレクトリなど運営、またマルチドメインとしてドメインを新規で借りて複数運営してると、CGIが複数動いてる状況になりますよね。
LINKサーバー同一アカウントで複数ブログ運営の選択肢!サブドメインとサブディレクトリ、マルチドメインの違い
そういった意味で、負荷が大きいときにエラーが発生するのでしょうね。
ロリポップ!「500 ERROR Internal Server Error」
500 ERROR INTERNAL SERVER ERROR
※CGI もしくは SSI が正しく動作していません。
- URLに間違いがないか、再度確認してください。再読み込みしてください。
- ~ 以下、footerは略 ~
ロリポップの公式500エラー画像は…初心者的に親切ではないですねっ。。「CGIやSSIと言われても、何これ、、どうすりゃ良いの。。」となってガッカリ。。と思いますよね。
でも実は!「php.iniでエラーコードを出す設定」がデフォルトになってるので、この画面は出ず、真っ白画面の上部にエラーコードを表示させます。
ちなみに通常php.iniでエラーコードを出す設定にしてるので.htaccessで表示させようとしてもいくつか設定を変更しないとエラーコードが非表示になりません。だから公式の画像が雑…。
ただエラーコード表示は、アカウント丸出しで良し悪しはありますね。
さいごに
500エラーは、ボォーっとしてたらすぐ起こります。ですが原因さえ解れば、すぐ直るものです。PHPや.htaccessなどのファイルを触るときは、必ずブログのPHPファイルをバックアップをとっていれば、復元がすんなり行きます。
どこでエラーが出たのかを知って、解決するならエラーコードを表示させ、どんなエラーが出てるか見れば、どうにかなります。
LINKブログが真っ白!エラー原因は全角・閉じ忘れ・親子テーマの競合!?2通りの復元方法&今後の対策!!
エラーを出すと、その間の集客は0だし、収益にもつながりません。次にそのユーザーさんが来てくれるかもわかりません。
記載ミスやアップ時のミスは、テスト環境ページを作って試してエラーが出なければ本番で採用みてはいかがでしょうか^^
ヒントになってブログが表示されていれば嬉しいなぁ(*´▽`*)
アンケートにご協力ください♪
ご協力に感謝します(*´▽`*)
それでは、かうたっくでしたっ♪