PHPの500エラーを解消させる!原因の最短解説

プログラムを実行しようとブラウザを読み込んだら、500 Internal Server Error発生

初めての時は何だろうと焦ってしまいますよね。

しかし、必ず原因はあり、解消できますので安心してください。

今回はPHPの500エラーについて以下の内容でお話したいと思います。

500エラーってなに?
500エラーの主な原因
原因の見つけ方

詳しく解説していきますので是非ご覧ください。

目次

500エラーについて

500というのはHTTPステータスコードです。

ApacheなどのWEBサーバーから返されるコードで番号によって意味が違います。

100~500番台まであり、400~500がエラーです。

今回説明する500エラーは、内部エラーなどと呼ばれWEBサーバー内部で問題が発生している状態です。

500エラーの代表的な原因と対応

それでは、500エラーの代表的な原因を解説します。

設定ファイルの記述ミス

.htaccessという設定ファイルがあります。

設定ファイルの記述にミスがあった場合に、500エラーは起こる可能性があります

.htaccessが原因かどうか判断するためには、.htaccessと同ディレクトリ内の存在しないファイルにアクセスします。

【404 Not Found】等が出れば.htaccessが原因ではない可能性が高いです。

記述ミスのな原因としては以下です。

ファイルパスを間違っている
対応バージョンの設定方法に従っていない
設定出来ない項目を指定している

上記の記述やデフォルトから変更した部分を確認してください。

.htaccessファイルを変更する場合には必ずバックアップとしてコピーを取っておきましょう。

アクセスする権限(パーミッション)設定ミス

ファイルにアクセスするための権限という概念があります。

読むのはOK、編集はNGなどファイルやフォルダに設定できます。

プログラムを書いたファイルがあるフォルダ権限が読み込みNGになっていれば、当然アクセスできません。

パーミッションについて詳しく知りたい方で、環境がlinuxの方は以下を参考にしてみてください。

xampp環境でWindowsをご使用の方は、

フォルダを右クリック

プロパティを選択

セキュリティタブを選択

図の赤枠の部分を見て読み取りが可能か確認

もし、読み取りにチェックがついていない場合は編集ボタンを押して編集しましょう。

また、拒否にチェックがついていてもアクセスできませんので確認してください。

プログラムの記述ミス

PHPプログラムの記述が間違っている場合でも起こります。

プログラムのどの部分が影響して500エラーが発生しているのかを特定する必要があります。

その場合、読み込んでいるファイルの先頭に以下を記述します。

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

エラー内容が出力されれば対応出来ると思います。

エラーを確認しても具体的な部分が分からない場合は、プログラムを削り実行する方法もあります。

最低限動く程まで削って、そこから足していくと問題が発生する箇所が特定できます。

ただし、あまり長いプログラムですとこの方法は難しいですね。

また、プログラムを変更する時にはバックアップとしてコピーをとっておきましょう。

折角書いたものが、元に戻せなくなると大変です。

エラーログを確認する

最後に原因を特定する方法として、エラーログを確認するという方法を解説します。

ApacheなどのWEBサーバーのエラーログを確認しましょう。

Windowsのxampp環境を使っている場合は以下にログが出力されていると思います。

※デフォルトの設定の場合
C:xamppapachelogs

この中にアクセス実行した時間のエラーが出ていればその内容を確認します。

前章の原因を調査する前にWEBサーバーのエラーログを確認したほうが早い場合もあります。

学習に対するモチベーションが下がっているあなたに

独学で頑張って学習してるけど、エラー続きで嫌になっていませんか?

自分で色々調べて進めてみたものの、

結局、何度探しても答えが見つからない

こんな状況になっていませんか?

プログラミング学習にはエラーが付きものです。このエラー解決ができなければ先には進めませんよね。学習が進まないとモチベーションも上がらない、そんな状況じゃ挫折してしまう可能性があります。

そこで、もう一度モチベーションをあげる為に、なぜPHPを学んでいるのか再確認してみましょう。この目的を再確認することで、何の為に学習をしているのかハッキリとした理由が分かるので、モチベーションにも繋がります。

  • Webサイトが作りたい
  • WordPressの編集がしたい

など明確な目的があるならば問題はないのですが、もし何の為にPHPを学んでいるのか理由がない場合は、もしかしたら言語選定を間違っている可能性もあります。

転職を目的にしているのであれば、転職しやすい言語を選ぶべきですし、フリーランスを目指すのであればそれにあった言語があります。なんとなくという気持ちで選ぶと後から後悔する結果になってしまうので、しっかり確認しましょう。

目的と言われても、なんとなく学んでいるだけだしな

このように感じている人は、弊社の「無料カウンセリング」を受けてみましょう。この無料カウンセリングでは、なぜPHPを学ぶのかその目的をヒアリングして、本当にPHPを学ぶべきなのか、その学習プランはどのように立てるのかなどの提案をしています。

目的をヒアリングすることで、あなたに最適な言語や学習プランが分かるので、最速でエンジニアを目指せるイメージが湧きます。

手軽にしかもオンラインでも受けられるので、ぜひ一度学ぶ目的を明確にしてみましょう。

無料カウンセリングに申し込む

まとめ

今回はPHPの500エラーについて解説しました。

急にエラーが出てくるとびっくりすると思いますが、1つ1つ確認していけば解消できます。

落ち着いてチェックしてくださいね。

それでは、また。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次