※本記事にはプロモーションが含まれます。
エックスサーバーでWordPressを使っていて、ある日とつぜん「500 Internal Server Error」と出たり、画面が真っ白になったりすると、あせってしまいますよね。この記事では、エックスサーバーの公式マニュアル・よくある質問に書かれている内容をもとに、まず何を確認すればいいかを順番にやさしくまとめます。
500エラーってどんな状態?
エックスサーバーのよくある質問では、500 Internal Server Errorは「プログラム自体へのアクセスは行えているが、実行ができない(処理が完了しない)場合に発生するエラー」と説明されています。つまり、サーバーには届いているけれど、WordPress(PHP)の処理がどこかで止まっている状態です。
原因はいくつか考えられるので、あてずっぽうに触る前に「エラーログ」を見るのが近道です。
まずはサーバーパネルの「エラーログ」を確認する
エックスサーバーでは、サーバーパネルの「エラーログ」から、ドメインごとにエラーログを確認・ダウンロードできます。
- サーバーパネルにログインする
- 「エラーログ」をクリックする
- 対象ドメインのログをダウンロードして、メモ帳などで開く
- エラーが起きた時刻に近い行を探す

なお公式マニュアルによると、パネルから取得できるのは過去数日分です。もっと前のログを残したい場合は、保存期間の設定をしておくとサーバー上にログファイルが作られます。
エラーログの言葉から原因を見分ける
公式のよくある質問では、エラーログに出る言葉ごとに、考えられる原因が整理されています。
「Resource temporarily unavailable」→ アクセス集中などのリソース制限
PHPやCGIの同時接続数が多くなり、アカウント単位のリソース制限にかかっている状態です。公式の説明では、稼働中の処理が終わってリソースに余裕ができると自動的に解消されるため、しばらく待ってから改めて確認するよう案内されています。CRONで頻繁にコマンドを動かしている場合は、実行頻度の見直しもすすめられています。
「syntax error」「Call to undefined function」「failed to open stream」→ プログラムやPHPバージョンの問題
プログラムの書き間違い、必要なファイルの不足、PHPバージョンの違いなどが考えられます。WordPressでは、テーマやプラグインを更新・追加した直後に起きた場合、そのテーマやプラグインが原因のことがあります。ログに出ているファイルの場所(例:wp-content/plugins/○○)を手がかりにしましょう。
なお、エックスサーバーはCGIやPHPのプログラムそのものについての技術サポートは行っていない、と明記しています。
「Invalid command」「Expected before end of configuration」→ .htaccessの書き間違い
.htaccessの記述に誤りがある可能性があります。また公式では、「php_flag」などのPHPの設定を.htaccessに書くとエラーになるため、PHPの設定はサーバーパネルの「php.ini設定」で行うよう案内されています。
パーミッション(権限)の設定ミス
エックスサーバーでは、セキュリティ上、ユーザー/グループに書き込み権限のあるパーミッション(777など)ではプログラムを実行できません。「とりあえず777にしてみる」は逆効果なので注意しましょう。
PHPのバージョンを変えた・変えたいとき
PHPのバージョンは、サーバーパネルの「PHP Ver.切替」からドメインごとに変更できます。エックスサーバーのお知らせでは、運用中のサイトによっては変更で互換性の問題が起きることがあり、変更後に異常が出たら同じ手順で元のバージョンに戻せば復旧できると案内されています。
「PHPを切り替えた直後から表示がおかしい」という場合は、まず元のバージョンに戻して様子を見るのが安全です。
原因がわからないときは「WordPressリカバリー」
エックスサーバーには、サーバーパネルから使える「WordPressリカバリー」という機能があります。公式サイトでは、次のようなケースで使えると紹介されています。
- サイトが正しく表示されない、画面が真っ白になる
- エラーで管理画面にログインできない
- パスワードを忘れて管理画面に入れない
- 原因がわからず、WordPressを初期状態に戻してやり直したい
WordPressの管理画面ではなくサーバーパネルから操作するので、WordPressにログインできなくても使えるのがポイントです。

公式マニュアルに書かれている注意点もおさえておきましょう。
- サイトの完全な復旧を保証するものではない
- 実行後は、サイトが正常に表示されるか必ず確認する
- 実行前に、ドメインのフォルダ内「wp_recovery_backup」にバックアップが作られる
- WordPress 5.0より前のバージョンや、マルチサイト機能を使っている場合は利用できない
確認する順番のまとめ
- サーバーパネルの「エラーログ」で、エラーの言葉を確認する
- 「Resource temporarily unavailable」なら、しばらく待って再確認
- 直前にプラグイン・テーマ・PHPバージョン・.htaccessを変えていないか思い出す(変えたなら元に戻す)
- パーミッションを777にしていないか確認
- それでもダメなら「WordPressリカバリー」を検討
あわせて、サイトの安全対策も見直しておくと安心です。エックスサーバーのセキュリティ機能についてはXServer サイトセキュリティとは?でやさしく解説しています。
これからWordPress用のサーバーを選ぶ方は、エラーログの確認やWordPressリカバリーがサーバーパネルから使えるエックスサーバー
も候補のひとつになります(最新の料金・仕様は公式サイトでご確認ください)。

コメント