【WordPress】PHP7を使用するとW3 Total Cacheにエラーが発生

【Wordpress】PHP7を使用するとW3 Total Cacheにエラーが発生

2015年12月にリリースされ、従来のバージョンの2倍以上の実行速度を誇るPHP7
当ブログでも、利用しているエックスサーバーで使えるようになってすぐに導入し、これまでの運用でその効果を実感しています。

高速のPHP7がXserver(エックスサーバー)で使えるようになったので即導入

しかし、新ブログをWordPressで構築する際にPHP7を導入したところ、エラーが発生するようになってしまいました。

今回はこの原因と対処方法についてまとめます。

PHP7に記述ルールに沿っていないW3 Total Cacheのコードを修正

あらためてエラーメッセージを確認してみます。
エラーメッセージに”W3_Plugin_TotalCache”とあるため、エラーが発生しているのはワードプレスのプラグインのW3 Total Cacheであることはすぐにわかります。

まず、下記の状況から検証してみることにしました。

  • PHP5系でW3 Total Cacheを導入 … エラーなし
  • PHP7でW3 Total Cacheを導入… エラー発生

PHP5系で構築してあるサイトでは、エラーが発生したブログと同じバージョンのW3 Total Cacheを導入していてもエラーはでていません。この時点でPHP7の利用がトリガーになっていることが濃厚ですね。

ということで、PHP7ではなくPHP5系に変更してみると……やはりエラーが発生しなくなりました。
とはいえPHP7導入するにしてもW3 Total Cacheは使いたい、と調べているとgithubに対処法がアップされていました。

https://github.com/gadelkareem/wp-w3-total-cache/commit/e71030e89f4cd666742ae2ec39451782beb42f3a

上記ではlib/W3/Plugin/TotalCache.php内の512行目の記述を、

から

に変更しています。
&を取る形です。PHP7での記述ルールと差異があり、エラーとなっていたのでしょう。

TotalCache.phpの場所ですが、ルートからだと/wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.phpにあります。

W3 Total CacheがPHP7に対応したバージョンをアップデートしてくれればファイルをいじる必要はなくなり安心なのですが。とりあえずの対処法でした。

 

エックスサーバーの登録は下記より!


【Wordpress】PHP7を使用するとW3 Total Cacheにエラーが発生

【Wordpress】PHP7を使用するとW3 Total Cacheにエラーが発生

月額900円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』
【Wordpress】PHP7を使用するとW3 Total Cacheにエラーが発生

 

カテゴリ別記事一覧(全カテゴリ一覧
WordPress ウェブ制作・運用

コメントを残す

*