【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に対応したバージョンをアップデートしてくれればファイルをいじる必要はなくなり安心なのですが。とりあえずの対処法でした。

 

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



月額900円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』

 

筆者について

筆者について


1982年、東京下町生まれ。
高校卒業後、アメリカへ留学。その後、「アートが根付いた国では絵だけで食えるのか」を確認するため、ドイツベルリンにてアート活動をおこなう。

日本に戻ってからは、コーディング・オーサリング・プログラミングなんかを経て、ウェブディレクターを肩書きにしておりました。現在は独立し、ブログやサイトの運用を軸に、ウェブサイトの企画提案からデザイン・構築まで手広く活動しております。何でも屋です。

isLog〜イズログ〜では『日々生きること自体が旅』をモットーに、日々の旅を中心に綴っています。

詳しいプロフィールはこちら


feedly

コメントを残す

*