今回の記事は、忘備録になります。
このサイトが半日、500 internal server errorと表示されてしまい、ユーザーの方にはご迷惑をおかけしました。
今回は、500 internal server errorになった時に僕が行った解決方法を記録します。
※メモ程度なので、詳しくはここの情報をもとにググっていただければ、より詳しい情報にたどりつくと思います。
目次
500 internal server errorとは?
僕もこの現象は初めて知りました。
調べてみると、どうやら原因はこちらです。
- CGIやPHPの同時接続数が多くなり、アカウント単位のリソース制限となっている
- プログラムの文法(CGI/PHPのソースコード)に誤りがある
- .htaccessの記述に誤りがある
- パーミッションに誤りがある
- php.iniの設定内容に誤りがある
僕はスターサーバーを利用していましたので、サーバーのサイトから発見しました。
もし、皆さんが違うサーバーであれば、公式ページを見るのが良いと思います。
エラーは突然起こった
WordPressを更新したり、プラグインを更新した場合、エラーが起こったのなら、原因はわかりやすいのですが、僕の場合は突然起こりました。
WordPressの管理画面にもアクセスできない状態です。
僕は専門家でもないので、スターサーバーに書いていることはほぼわからなかったのですが、なんとか復旧することができました。
僕がやった手順をお伝えします。皆さんにも当てはまるかわかりませんが、一例として参考にしていただければ幸いです。
サーバーにログイン
まずはサーバーにログインしました。
WordPressの管理画面にログインできないので、仕方ないですね。
サーバーにログインしたのは半年ぶりでした。
phpのバージョンを変更
原因はphpとの記載があったので、phpのバージョンを推奨にしました。
僕が選択しているのは一つ前のバージョンでした。
これでは直らず。。。
パーミッションをチェックする
.htaccessとindex.phpのパーミッションの数値が違うと500エラーが出るとのことを情報で見たので、こちらを確認しました。
パーミッションの数値は何も問題なかったです。
これは原因ではなさそうでした。
確認するにはサーバーにログインして、WebFTPのファイルマネージャーにログインして確認しました。
CGIは意味がわからないので、とりあえず放置
CGIは何のことか全くわからないので、とりあえずはこちらは放置しました。
ここは調べても全く情報がなかったので、放置しかありませんでした。
.htaccessの表記が間違っている?
.htaccessは重要なファイルということは知ってましたが、どんなことを書かれているのか全くわかっていませんでした。
でも、これは不変的なもので素人は手を出してはいけない。みたいな情報が多かったです。
ぶっちゃけ、これを見てもわからないんですよね。
もうお手上げの状態でした。
サーバーに問合せをした
八方ふさがりのため、サーバーに連絡しました。
でも、今は深夜12時なので、連絡は翌日以降か。。。と思い、とりあえずは今できることをしようと思いました。
解決した方法
僕は偶然が重なり、解決することができました。
本当にラッキーでした。
その方法をお伝えします。
cocoonを利用していたので、バックアップがあった
cocoonユーザーであれば、.htaccessのバックアップがあります。
ファイル名は.htaccess.cocoonというファイルです。
このファイルの中を見てみると、.htaccessのファイルと明らかに違っていました。
これが原因か?と思い、.htaccess.cocoon→.htaccessと名前を変更しました。
エラーは解決できず。。。
バックアップも半年前のだからダメだよね。。と思いつつ、この日は.htaccessのファイルをいじっていました。
.htaccessを変更する前にはFFFTPなどでサイトのバックアップを取ることをお勧めします。
でないと引き返せなくなると本当に悲惨なため。
ふと思った、phpのバージョンアップ
一番最初にphpのバージョンをアップして、これらの操作をしたため、.htaccessファイルはphpのバージョンアップしたのに対応していないのでは??と思ったので、phpのバージョンを元に戻しました。
そしたら、見事サイトが復活しました。
最初から、こうやればすぐ解決したのでは?
いろんなことをしたので、更に複雑になってしまったのかと思いますが、最初から.htaccessファイルをバックアップ通りに戻せば、すぐに解決したのかな?と思いました。
今回は最初にphpのバージョンをいじったので、ダメだったのかもしれません。
最初から.htaccessファイルをバックアップに戻していれば、すぐに解決したのかな?と思いました。
なので、phpのバージョンを変更して、エラーが直らなかったら、phpのバージョンは元に戻して、いろいろと変更するのが良いと思います。
要は、動いていた時と同じ環境で直すのが良いと思います!
もし、同じような500エラーが出ていて、困っている人の助けになれば幸いです。
画像もなく、見にくい記事だったかと思いますが、最後まで見ていただきありがとうございます。
コメント