PHPでInternal Server Errorが出たときにとりあえず確認すること

PHPをサーバーにアップし、いざ実行しようとしたとき500エラー(Internal Server Error)が出ることがあります。理由は様々ですがとりあえず確認しときたいポイントを3カ所ご紹介します。

スポンサーリンク

パーミッション(権限)が不足している

実行権限が当たっていない(5以上になっていない)場合に、サーバーの設定次第ですがエラーする可能性があります。

下記のようにFTPソフトや、SSHツールで表示されていたら権限不足ですので、必要な権限を与えるとエラーが解消できるかもしれません。

WinSCPのプロパティの場合、Xにチェックを入れる
puttyの場合、chmodなどで実行権限(X)を与える

改行コードがLFになっていない

PHPファイルの文字コードが、アップロードするサーバーOSの文字コードと異なっている場合500エラーが発生することがあります。

WindowsならCR+LF、LinuxならLFが対応文字コードなので、もし異なっていたら「名前を付けて保存」などで文字コードを指定すれば解消されることがあります。

一行目のPHPのパスが誤っている

可能性は通常低いと思いますが、一行目のPHPのパスが間違っていたり、パスが指定されていないことによって、500エラーが発生することがあります。

間違っているか確認する場合は、記載されているパスにPHP実行ファイルが存在するか確認します。

lsコマンド等でファイルが見つかれば、とりあえず問題ないかと思います。

もし見つからなければ、whichコマンド等で実行ファイル置き場を探してそのパスに変更します。

まとめ

ファイル由来のエラーであればこれでだいたい直るはず。

Apacheや.htaccessの設定によってエラーしている可能性はありますがまたの機会で。。

スポンサーリンク
おすすめの記事