エックスサーバーで500 Internal Server Errorが連発したときの解決方法
※当サイトはWeb広告を利用していますこのブログを含め5つのWordPressブログをエックスサーバーで運用しています。
そのうちの一つのブログが頻繁に500 Internal Server Errorを起こすようになりました。
500 Internal Server Errorが起きると上記のような警告が出て、リロードしても何をしてもブログが表示されなくなります。いろいろと解決方法を探っている中で、以前以下のような記事を書きました。
htaccessを修正するという内容になっています。実際、この方法で解決して安心していたのですが、またエラーが起こるようになってしまいました。
しかも、今度は自分のブラウザではエラーが出てるけど、スマホで見ると大丈夫で、アナリティクスのリアルタイムも計測されているという不思議な状態。もちろん、キャッシュを疑ってみましたがどうも違うみたいなんです。
調べて、調べて、調べまくったところ、サーバーパネルから「PHP高速化設定(FastCGI化)」をONにすることで解決しました。今度こそ、本当に解決した手応えがあります。
今回はエックスサーバーで500 Internal Server Errorが出たときの解決方法を紹介します。
まずはエックスサーバーのよくある質問を確認
エックスサーバーのヘルプには、500 Internal Server Errorの対象方法が記載されています。まずはヘルプに記載されている内容を一読して、心当たりがないか確認してみましょう。
・CGIやPHPの同時接続数が多くなり、アカウント単位のリソース制限となっている
・プログラムの記述内容(CGI/PHPのソースコード)に誤りがある
・.htaccessの記述に誤りがある
・パーミッションに誤りがある
専門的な知識が必要な項目もあり、サーバーの扱いに慣れていないと難しくかんじることもあるかもしれません。修正する場合は、バックアップをとるなどしてリスクを軽減させた状態でチャレンジしてみてください。
PHP高速化設定をする方法
私が解決したPHP高速化設定(FastCGI化)についての手順をまとめました。この方法は簡単なので誰でも実行可能です(念のため自己責任でお願いします)。
(1)エックスサーバーのサーバーパネルにログインします。
(2)設定したい対象ドメインを選択。次に「ホームページ」のPHP高速化設定(FastCGI化)をクリック。
(3)PHP高速化設定の変更をクリック
(4)「FastCGIを有効にする」「APCを有効にする」の両方をチェック。PHP高速化設定を変更する(確定)をクリックすれば設定完了です。
(5)500 Internal Server Errorが出ているブログでリロードしてみてください。無事に表示されたらOKです。
おそらく、サーバーに負荷がかかりすぎていたのが原因だと思われます。高速化することでそれが解消されたのではないかと推測します。
なお、私のブログの場合は、PHP高速化設定をすることでページの表示速度も劇的に速くなりました。いろんな意味でやってよかったです。