PHP7は、旧バージョンに比べて実行速度が倍ほど速くなると言われています。WordPressをPHP7で動かしたところ、管理画面の重いのが大分改善されたり、体験できるほどスムーズに動くようになった気がします。
しかし、キャッシュ系プラグインのW3 Total CacheではPHP7で以下のような警告が出るようです。
1 | Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in ..../wp-includes/functions.php on line 3597 |
直し方をWordPress公式フォーラムで探したところ解決策が見つかり、警告が表示されなくなりました。
以下のファイルの一部分を修正するだけです。
1 2 3 4 5 6 | /wp-content/plugins/w3-total-cache/lib/W3/Plugin/BrowserCache.php : 116行目 /wp-content/plugins/w3-total-cache/lib/W3/Plugin/Cdn.php : 242行目 /wp-content/plugins/w3-total-cache/lib/W3/Plugin/Minify.php : 131行目 /wp-content/plugins/w3-total-cache/lib/W3/Plugin/NewRelic.php : 31行目 /wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.php : 512行目 /wp-content/plugins/w3-total-cache/lib/W3/PgCache.php : 331行目 |
参照渡しの&を取り除きます。
修正前(Before):
1 | function ob_callback(&$buffer) { |
修正後(After):
1 | function ob_callback($buffer) { |
これで警告が表示されなくなります。最後にキャッシュをクリアしないと警告が消えない可能性があるので、忘れずに。