W3 Total Cache利用で500エラーが出たときの対処法

サイバーマンデー
Amazonプライム会員限定の大セール「サイバーマンデー」開催中!プライム会員限定の大セール

昨日、WordpressプラグインのW3 Total Cacheの設定をいじっていました。

で、いろいろな設定を変更して「設定の保存」ボタンをクリックした途端に500エラーが。

XSERVERの500エラー

この500エラーは、全ページで表示され、管理画面でも完全にエラー画面しか表示されなくなりました。

こうなると、管理画面から設定を元に戻してリカバリーすることもできません。

ただ、FTPソフトとテキストエディターを利用することで何とか復帰することができたので、その方法の紹介です。

スポンサーリンク
レクタングル(大)広告

500エラーから復帰する主な手順

今回僕は、以下の手順を行うことで何とかW3 Total Cache(以下、W3TC)のエラーから元に戻すことができました。

  1. .htaccessにW3TCが記述した部分を削除
  2. wp-config.phpにW3TCが記述した部分を削除
  3. W3TCプラグインの削除
  4. wp-content内にW3TCが生成したフォルダとファイルの削除

僕が利用しているエックスサーバーでは、FTPソフトを利用して、上記の手順で、エラーメッセージも出ないように復帰することができました。

FTPなどの設定方法がよくわからない場合は、以下などを参照してください。

FileZillaでエックスサーバーにSFTP接続で安全にファイル転送する方法
セキュリティーは、低いよりは高くしておくに越した事はありません。 今回は、SFTPという接続方法を利用して、FTPよりは安全にファイル...
エックスサーバーにWinSCPでSFTP接続する方法(鍵は自前で生成)
先日、FileZillaでエックスサーバーにSFTP接続する方法を書きました。 「なぜFTPのあるのに、SFTP接続するのか?」な...
WinSCPを利用してサーバー上のWordpressテーマファイルを直接、手持ちの使い慣れたエディターで編集する方法
Wordpressテーマのスタイルをちょっと編集したい時、どのようにしていますか? 例えば、テーマのスタイルをちょっと書き換え...

以下では、上記手順について詳しく書きたいと思います。

.htaccessにW3TCが記述した部分を削除

W3 Total Cacheプラグインを利用すると、.htaccessファイルの内容に追記する形で設定を書き込みます。

今回、僕のサイトで500エラーが出たのも、おそらくW3 Total Cacheが.htaccessファイルに書き込んだ設定が原因だったと思われます。

なので、今回のような「サイト全体が500エラーになった」なんて症状の場合は、W3 Total Cacheが書き込んだ設定部分を削除してやると、ある程度症状は改善されるかと思います。

.htaccessファイルとは、多くのWEBサーバーで利用されている「Apache(アパッチ)」を制御する設定ファイルの1つです。とにかく非常に大事なファイルで、この設定を誤ると即500エラーなどが出てサイトが表示されなくなってしまうファイルです。

PHPと違って、ブラウザ上にエラーメッセージも出ないため、僕も含む.htaccessファイルの編集に慣れていない人が編集するには細心の注意が必要です。ですので、編集の前に必ず.htaccessファイルのバックアップを取っ手おいてください。

W3TCか書き込んだ.htaccess内の記述の削除方法

.htaccessは、一般的なサーバーであれば、public_htmlにあるかと思います。

エックスサーバーのディレクトリ構造で説明すると、以下のような位置にあります。

XSERVERでの.htaccessの位置

/home/サーバーID/ドメイン/public_html/.htaccess

public_html内にある.htaccessファイルを一旦ダウンロードしてテキストエディターで開きます。

そして中にある、以下のような記述を削除して保存してください。

.htaccess内の「# BEGIN W3TC Page Cache core」から「# END W3TC Page Cache core」までをエディターで削除してしまいます。

編集が済んだ.htaccessをFTPでサーバー上の同じ場所に上書きアップロードしてください。

.htaccessを修正すると、ブラウザ上では500エラーだけは解消される場合がほとんどだと思います。(他でPHPのエラーは出てるかもしれないけど)

なお、大事なことなのでもう一度書きますが、.htaccessの編集に失敗するとApache設定に慣れていない場合は、元に戻せないこともあるかと思います。なので、.htaccessファイルは、編集前にコピーして複製するなどして、バックアップを取っ手おくことをおすすめします。

wp-config.phpにW3TCが記述した部分を削除

W3 Total Cacheは、Wordpressなどの設定情報が書かれているwp-config.phpにも追記する形で編集を加えます。

この、W3 Total Cacheがwp-config.phpに加える編集も元に戻します。

wp-config.phpも重要なファイルなので、以前にコピーするなどしてバックアップを取っ手おいてください。

W3TCか書き込んだwp-config.php内の記述の削除方法

wp-config.phpは、Wordpressのインストールフォルダ直下にあります。

僕の利用しているエックスサーバーだと、先程の.htaccessと同じpublic_htmlにあります。

XSERVERでの.htaccessの位置

/home/サーバーID/ドメイン/public_html/wp-config.php

FTPソフトでwp-config.phpをダウンロードして、テキストエディターで開いてください。

そして、中にある以下のような記述を削除して保存してください。

その他にも、エディターの検索機能などで「Added by W3 Total Cache」という記述がないかを探して、あれば削除してください。

編集が済んだwp-config.phpをFTPでサーバー上の同じ場所に上書きアップロードしてください。

W3TCプラグインの削除

とりあえずこれでW3 Total Cacheプラグインは削除してしまっておいた方が良いかと思います。

なので、FTPでWordpressプラグインフォルダ内にある「w3-total-cache」フォルダも削除してしまいます。

エックスサーバーだと、以下のような位置にあります。

XSERVERでWordpressプラグインフォルダの位置

/home/サーバID/ドメイン/public_html/wp-content/plugins/w3-total-cache

FTPソフトで「w3-total-cache」フォルダを削除してしまいます。

W3 Total Cacheプラグインフォルダの削除

wp-content内にW3TCが生成したフォルダとファイルの削除

僕は上記の方法で十分と思っていたのですが、Wordpress管理画面にはまだ以下のようなエラーメッセージが出ていました。

W3 Total Cache Error: some files appear to be missing or out of place. Please re-install plugin or remove /home/XXXXXXXXX/DOMAIN/public_html/wp-content/advanced-cache.php .

W3 Total Cache Error: some files appear to be missing or out of place. Please re-install plugin or remove /home/XXXXXXXXX/DOMAIN/public_html/wp-content/db.php .

W3 Total Cache Error: some files appear to be missing or out of place. Please re-install plugin or remove /home/XXXXXXXXX/DOMAIN/public_html/wp-content/object-cache.php

何かまだ、W3 Total Cacheがwp-contentフォルダ内に生成しているファイル等があったようです。

エックスサーバーでのwp-contentフォルダの位置は以下になります。

XSERVERでwp-contentの位置

/home/サーバID/ドメイン/public_html/wp-content

この、wp-contentフォルダ内にある以下のファイルとフォルダをすべて削除してしまいます。

  • w3tc-config(フォルダ)
  • advanced-cache.php
  • db.php
  • object-cache.php

これらファイルを削除すると、管理画面上でもエラーが出なくなると思います。

ファイルを削除しても管理画面上でエラーメッセージが出ている場合は、エラーメッセージを参考にファイルを削除してください。

まとめ

とりあえず、僕の環境(W3 Total Cache0.9.4.1+エックスサーバー)では上記の方法で、500エラーを解消することができました。

ちなみに、データベースにはW3 Total Cacheの設定情報が保存されているので、再度プラグインをインストールすると、エラーが出ます。ですので、再びW3 Total Cacheを利用するには、データベース上で設定情報の削除が必要になるかもしれません。

ただ、とりあえず今回は500エラーからの復帰方法ということでこの辺で。

もし、ページキャシュプラグインを使用する必要があるのであれば、エラーの出る恐れのあるW3 Total Cacheを利用するよりも、他のプラグインを使ったほうが手っ取り早いかと思います。

『W3 Total Cache利用で500エラーが出たときの対処法』へのコメント

  1. 名前:田舎村 投稿日:2016/09/27(火) 18:51:56 ID:8b98d5649

    昨日(9/26)、「W3 Total Cache」を「0.9.4.1」から「0.9.5」へバージョンアップしたら「500エラー」が発生しました。
    管理画面もサイトもエラー表示で白紙状態。
    私はlolipopを使用していますが、この記事を参考にして、「W3 Total Cache」を削除し、正常に戻すことが出来ました。

    正常に戻った後は、新しいバージョンをインストールしたら正常に働いています。

    「W3 Total Cache」のバージョンアップは、旧バージョンを完全削除して、その後に新バージョンをインストールするのが良いように思えています。

  2. わいひら 名前:わいひら 投稿日:2016/09/28(水) 17:46:55 ID:d2b9048f9

    そうなんですか。
    僕はまだアップデートしてなくて助かりました。とりあえず、ローカルで一度動作を確かめてから、アップデートしてみたいと思います。
    教えていただきありがとうございます!

  3. 名前:石版 投稿日:2016/11/28(月) 22:30:02 ID:62c4835e3

    助かりました!

    僕は、Wordpressの更新時に500エラーが出てしまいまして
    滅茶苦茶悩んでいたのですが、こちらの記事でスムーズに解決することが出来ました!

    これからも参考にさせて頂きます。

    ちなみに、わいひらさんは、「W3 Total Cache」削除後
    どのような対策をされていますか?

    よろしければ教えてください。

  4. わいひら 名前:わいひら 投稿日:2016/11/28(月) 22:48:59 ID:c6d72d680

    記事がお役に立てたようでよかったです。

    僕の場合は、WP Fastest Cacheを利用しています。
    初心者にも扱いやすいWordpressキャシュプラグイン「WP Fastest Cache」の使い方
    ただ、これは有料版を利用しないと、モバイルでキャッシュは生成されません。
    そのW3 Total Cacheで500エラーの出たサイトは、パソコンからの流入が8割以上だったので、無料版で特に問題はなかったのですが、モバイル流入が多いサイトだと無料版では厳しいかもしれません。