![PHPでInternal Server Errorが出たときにとりあえず確認すること](http://holiday-programmer.net/wordpress/wp-content/uploads/2021/09/500error.png)
PHPをサーバーにアップし、いざ実行しようとしたとき500エラー(Internal Server Error)が出ることがあります。理由は様々ですがとりあえず確認しときたいポイントを3カ所ご紹介します。
パーミッション(権限)が不足している
実行権限が当たっていない(5以上になっていない)場合に、サーバーの設定次第ですがエラーする可能性があります。
下記のようにFTPソフトや、SSHツールで表示されていたら権限不足ですので、必要な権限を与えるとエラーが解消できるかもしれません。
![](http://holiday-programmer.net/wordpress/wp-content/uploads/2021/09/permission.png)
![](http://holiday-programmer.net/wordpress/wp-content/uploads/2021/09/putty.png)
改行コードがLFになっていない
![](http://holiday-programmer.net/wordpress/wp-content/uploads/2021/09/500_改行コード.png)
PHPファイルの文字コードが、アップロードするサーバーOSの文字コードと異なっている場合500エラーが発生することがあります。
WindowsならCR+LF、LinuxならLFが対応文字コードなので、もし異なっていたら「名前を付けて保存」などで文字コードを指定すれば解消されることがあります。
![](http://holiday-programmer.net/wordpress/wp-content/uploads/2021/09/500_select.png)
一行目のPHPのパスが誤っている
可能性は通常低いと思いますが、一行目のPHPのパスが間違っていたり、パスが指定されていないことによって、500エラーが発生することがあります。
![](http://holiday-programmer.net/wordpress/wp-content/uploads/2021/09/500_PHPパス.png)
間違っているか確認する場合は、記載されているパスにPHP実行ファイルが存在するか確認します。
![](http://holiday-programmer.net/wordpress/wp-content/uploads/2021/09/php確認-1.png)
lsコマンド等でファイルが見つかれば、とりあえず問題ないかと思います。
もし見つからなければ、whichコマンド等で実行ファイル置き場を探してそのパスに変更します。
![](http://holiday-programmer.net/wordpress/wp-content/uploads/2021/09/php確認2.png)
まとめ
ファイル由来のエラーであればこれでだいたい直るはず。
Apacheや.htaccessの設定によってエラーしている可能性はありますがまたの機会で。。