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の方は以下を参考にしてみてください。

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

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つ確認していけば解消できます。

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

それでは、また。

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

つぶらや

つぶらや

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

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー