WordPressではすぐにPHP 8にアップグレードをしなくても大丈夫

WordPressではすぐにPHP 8にアップグレードをしなくても大丈夫
Bookmark this on Hatena Bookmark

2020年の11月にPHP 8がリリースされましたね。そして12月にはPHP 8に対応したWordPress 5.6がリリースされました。

PHP 8の大きな目玉のひとつは、パフォーマンス改善になるというJIT(Just In Time)です。

実は、処理速度がかなり向上された前バージョンのPHP 7でも、当初はJITが実装される予定でした。ところが当時採用された方法ではそれほど速度が改善されなかったことや、実装が複雑になってしまったこと、また、JIT以外の方法でパフォーマンスが大きく改善したために、JITの導入は見送りされました。

そして今回のPHP 8で満を持してJITが導入されました。JITを導入することによって、ウェブ以外の分野ある、CPUを多用するような処理をPHPで書くことが現実的になりました。また、C言語の代わりにPHPで組み込み関数を開発することが可能になりました。従来のPHPでこれをやろうとすると、パフォーマンスが大きなハードルになっていました。

そのようなパフォーマンス改善がされたPHP 8ですが、残念ながらウェブアプリであるWordPressには大きな恩恵はありません。WordPressにはCPUをフル活用するような処理がなく、データベースやデータ通信といったPHP以外の技術のパフォーマンスが大きく影響してくるためです。このようなウェブアプリにおけるPHPのパフォーマンス改善については、今後のリリースで対応していくようです。

また、WordPressの公式ブログ記事『WordPress and PHP 8.0』によると、WordPress 5.6ではPHP 8への対応が暫定的であり、まだ発見されていない問題が残っている可能性があるとのことです。WordPressはテーマやプラグインとの併用が必須であり、それらのテーマやプラグインがPHP8に対応していることを完全には確認していないため、5.6はベータ扱いになっているようです。

さらに、PHP公式ページ『PHP 7.4.x から PHP 8.0.x への移行』にも書かれているように、PHP 8には下位互換性のない変更点が少なくありません。PHP 7からPHP 8へバージョンアップをする場合には、WordPressで構築したサイト全体の再テストが必要になってきますので、それなりの時間がかかってきます。

以上のことより、バージョンアップにかかるコストとその効果を比較してみると、今すぐPHP 8(そしてWordPress 5.6)にアップグレードするメリットは少ないでしょう。

ただし、技術者とは得てして新しいものに興味津々ですので、モチベーションがある方には、ぜひともバージョンアップにチャレンジしていただきたいと思います!

Bookmark this on Hatena Bookmark