2019年4月21日(日)PM10:00頃、当サイトにて『500 internal server error』が発生しました。
最初に言っておくと、当サイトは『さくらサーバー』を利用しています。
実は500エラー自体は以前からたまに起こってはいたのですが、一時的なもので再読込みすると直るため、大して気にしてはいませんでした。
しかし今回は優に2時間もの間、500エラーの状態が続きました。
PC・スマホ・タブレット、どのデバイスで試してみてもダメ。Chrome・FireFoxなど変えてみましたが繋がりません。
当サイトにとって日曜日の夜というのはアクセスが比較的集まりやすい時間帯であり、同時閲覧者は100人を超えます。そんな時に500エラーなんて出てしまうと機会損失も甚だしいワケですよ。
『500エラー 原因 対処法』などでググって色々試してみましたが全然ダメで、もう焦りとイライラはMAX。正直この記事を書いている今でもまだ少しイラついてます(# ゚д゚) 笑
しかし、色々と調べて何とか解決しました。
この記事を読んでいる方も焦っていると思うので単刀直入に言いますが、私の場合は以下の2つの対処法をとることですぐにアクセスが復旧しました。
- PHPバージョンの更新
- パーミッション設定の変更
ということで今回は、上記の2つの方法について解説します。
※注意点
あくまで私の場合の解決方法です。500エラーが出る原因は多岐にわたって考えられるため、同じ対処法をとっても解決するとは限りません。
PHPバージョンを最新版に更新
調べてみると原因の一つとして、古いバージョンのPHP設定を使用していることが考えられるとのこと。
ということで早速、さくらサーバーのコントロールパネルにアクセスし、『アプリケーションの設定』から『PHPのバージョン選択』をクリック。
※さくらサーバー以外を利用している方は、『使用しているサーバー名 PHP バージョン変更』のようにググって別途調べてみてください。
すると『PHPのバージョン選択』画面が出現します。ここで自分が古いバージョンのPHPを使用している場合は、新しいバージョンを選択し、『変更』ボタンをクリックしてください。
以上で変更は完了。
まずこの状態で500エラーが解消されているかどうかを調べてみてください。
まだ500エラーが出る場合は次の手順に進みます。
パーミッション設定の変更
次に原因で考えられるのは『パーミッション設定』だとのこと。
どうやら『index.php』や『.htaccess』のパーミッション設定をイジることで500エラーが解決するようです。
正直俺には『ぱーみっしょんせってい』が何のことなのかサッパリ分かりません(いちいち横文字使うなや)しかしその何とかっていう設定をイジれば解決するんであれば、イジってやろうじゃないか。
※私はサーバー編集ツールとしてAdobeの『Dreamweaver』を利用しているので、それ以外のソフトを利用している場合は『ソフト名 パーミッション設定 変更方法』みたいな感じで別途ググってみてください。
Dreamweaerの場合、リモートサーバー上の『index.php』と『.htaccess』を右クリックし、『権限の設定』を選択することでパーミッション設定を変更できます。
それぞれのパーミッションの値は、いろいろなサイトを調べた結果、以下の値に変更すると直ったという報告が多く上がっていました。
※変更は自己責任で。サーバーによって推奨する値が違う場合があるようです。
▼『index.php』の設定。私の場合、604 → 705に変更。
▼『.htaccess』の設定。私の場合、606 → 644に変更。
そして以上の手順が完了した時点で再び自分のサイトを見てみると...
直ってる(゚∀゚) !
ということで、『PHPバージョン更新』と『パーミッション設定の変更』という2つの対処法をほどこしたことで、無事500エラーを解決することができました。
それでも直らない人は別の方法を検索
以上はあくまで私の場合の解決方法です。同じ方法をとっても解決しない可能性は大いにあります。
一般的に500エラーというのはサーバー側の内部エラーであり、以下のケースで表示されることが多いとのこと。
【主な500エラーの原因】
- 一時的なアクセスの集中
- CGI上のバグ
- サーバー元のエラー
- .htaccessの記述エラー
- WordPressのプラグインの相性が悪い
特に④⑤が原因である場合が多いらしいので、今回の記事で紹介した方法でダメな場合は、別途対処法をググってみるてください。
最悪の場合、サーバー側に問い合わせることをお勧めします。
500エラーというクソみたいな状況に悩んでいる方々の参考になれば幸いです。