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

50種類以上のIT教材を無料で使える!
0円から学習できるオンラインITスクール「侍テラコヤ」
→さっそく登録する

プログラムを実行しようとブラウザを読み込んだら、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の方は以下を参考にしてみてください。

【Linuxコマンド】chmodでパーミッションを設定する方法
更新日:2023年4月23日

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

フォルダを右クリック

プロパティを選択

セキュリティタブを選択

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


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

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

プログラムの記述ミス

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

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

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

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

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

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

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

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

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

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

エラーログを確認する

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

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

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

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

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

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


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

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

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

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

結局、何度探しても答えが見つからない
こんな状況になっていませんか?

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

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

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

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

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

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

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

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

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

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

まとめ

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

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

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

それでは、また。

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

独学PG&SE、東京在住30代女性。
誰でもプログラマーになれるがモットーで、わかりやすい記事を目指しています。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close