PHP7.3の適用でワードプレスのサイトが壊れた話

このサイトを動かしているPHPのバージョン7.1を使っていたのですが、ふと思い立ち7.3にアップデートしてみました。

PHP7.3にした理由

WordPress
Img src: Kinsta

PHPのバージョン別、Wordpress5.0のベンチマークです。

ベンチマークの結果

WordPress 5.0 PHP 5.6 のベンチマーク結果:91.64リクエスト/秒
WordPress 5.0 PHP 7.0 のベンチマーク結果:206.71リクエスト/秒
WordPress 5.0 PHP 7.1 のベンチマーク結果:210.98リクエスト/秒
WordPress 5.0 PHP 7.2 のベンチマーク結果:229.18リクエスト/秒
WordPress 5.0 PHP 7.3 のベンチマーク結果:253.20リクエスト/秒

https://kinsta.com/blog/php-benchmarks/

PHP5台は論外として、7.1と比べても20%近く処理を捌くことが可能なのが7.3です。

特に制約でもなければ導入しない意味はないですよね。

PHPのバージョンを変更した結果・・・

サイトがぶっ壊れました。

これフルブラウザで見た時のビューなんですが、何かデベロッパーツールのレスポンシブビューみたいになってますね。

さすがに派手に壊れすぎです。ちょっと笑いました。

原因を探る

とりあえず、使っているWordpress自体がPHP7.3に対応していないワケがありません。

テーマも問題ないことを確認しています。

となれば原因は「プラグイン」でほぼ確定です。

まぁほぼほぼアタリはついていて、「投稿ページ」の見た目が大きく損なわれているので、キャッシュ系プラグインの"minify"系の機構かなと。

一個ずつプラグインを停止していく

「プラグインの停止」→「画面の更新」

上記を一つずつ繰り返しどれが原因か探ります。

見た目が改善したら、直前に停止したプラグインが犯人ですね。単純です。

原因は「Crayon Syntax Highlighter」

全然予想と違いました(笑)まさかクレヨンとは・・・。

Crayon Syntax Highlighterとは、サイト上で記載しているコードの見た目を整えてくれるテック系ブログのマストプラグインが犯人でした。

かつをくんかつをくん

ちょっとコレ削除するのは無理・・・orz

というか、止めても問題ないプラグイン、そもそも入れてないんですけどね。

まだ「ContactForm7」とかが原因なら割とパッと削除出来たんですけどね。影響あるの1ページだけですし、自分で作ってもそんな時間かからなさそうですし。

クレヨンのバグを取るしかない

調べてみると、そもそもクレヨン自体が3年前から更新されていないようです。

そりゃこうなりますよね・・・。

修正する前に、誰か直してる人がいないかと思ってググってみたところ、いました。

修正して公開してくれています。神。

zipファイルがあるのでダウンロードして以下のページからアップロード。

zipファイルがあるのでダウンロードして以下のページからアップロード。

まとめ

利用者の多いプラグインは、公式の配布元が更新をしていなくても、有志によってアップデートされている場合が多いです。

自分で修正試みたり、諦める前に解決策をググってみるのもいいものですね。