blog

PHP 8.1を導入、WordPress 6系での高速化を検証してみた

PHP 8.1を導入、WordPress 6系での高速化を検証してみた

1123

XserverのPHP 8.1リリースに伴い、WordPress 6系での高速化を検証してみた

2022年7月25日にXserverが『PHP 8.1』導入のアナウンス

2021年の11月にPHP8.1がリリース。PHPの公式サイトによると高速化されたPHP8.0に対して、さらに3.5%の高速化を達成したとされています。 WordPressはかなり以前のバージョン5.6からPHP8.0に対応していましたが、WordPressもバージョン 6系が主流になり、PHP8 のマイナーバージョンアップのタイミングに伴い、一部の管理サイトにPHP 8.1 を導入してみました。

PHP8.1リリース!

PHP8.1は、PHPのメジャーアップデートです。 Enum、読み取り専用プロパティ、callableの新シンタックス、Fiber、交差型、パフォーマンス向上など数々の新機能があります。

引用元:PHP: PHP 8.1.0 Release Announcement

WordPressバージョンとPHPバージョンの対応表

WordPressバージョン PHPバージョン(動作環境) PHPバージョン(推奨環境) MySQL
6.0 5.6.2 – 8.1 7.4以上 5.7以上
5.9 5.6.2 – 8.1 7.4以上 5.7以上
5.7 – 5.8 5.6.2 – 8.0 7.4以上 5.6以上
5.6 5.6.2 – 8.0 7.4以上 5.6以上
5.5 5.6.2 – 7.4 7.4以上 5.6以上

PHP8.1 CGI版の導入

PHPバージョン切り替え設定画面

ドメイン単位でバージョンの切り替えが可能なので万が一不具合が発生した場合でもすぐに元のバージョンに戻すことが可能です。 この柔軟さにより専用サーバやVPSにはない、共用サーバホスティングプランならではの運用が可能となります。

PHP8.1 導入後のWordPress検証

warning

PHP8では、関数やパラメータの処理がより厳格になりました。 弊社コーポレートサイトでもエラーが返されるテンプレートがいくつか発生しました。 関数や変数の処理にNullが返るとエラーになるようなので、戻り値がNullにならないよう、一部の条件分岐を改修するだけの処置で済みました。 今回のような複雑な機能がないコーポレートサイトなどでは大きな不具合は発生しませんでしたが、一部のプラグインの併用やテンプレート構造などによっては致命的なエラーが発生する場合もあるようですので慎重に導入、検証する必要はありそうです。

高速化の検証

warning
warning

Before PHP7.4.28 + WordPress 5.9 After PHP8.1.6 + WordPress 6.0.1 ※弊社コーポレートサイト ステージング環境

簡易的ですがGoogle PageSpeed Insightsを複数回走らせて高速化を検証してみました。
PHPの公式サイト通り数パーセントのわずかな差かと思いますが確実にスピードの向上は得られた結果です。

JIT設定でより高速化を目指す

JIT設定

重複する[Zend Optimizer]で記述しているopcache.jitは削除するかコメントアウト化 → ;opcache.jit = off

JITとはPHP8.0から追加された「OPcache」の拡張機能です。サーバー側のCPUでPHP処理をキャッシュし、同一PHPファイルの再アクセス時に処理実行のCPU負荷軽減やPHPプログラム処理の高速化を図るPHPの拡張モジュールです。

;-- php.iniに追記 --
[JIT]
zend_extension = opcache
opcache.enable = 1
opcache.jit = on
opcache.jit_buffer_size = 128M

works

グレイズの制作実績

コーポレートサイト、採用サイト、ワードプレスサイト、ECサイト、ランディングページ、リニューアル、映像制作など、 クライアントの集客効果を最優先に考え、エンドユーザのココロに刺さるデザインで訴求します。

グレイズの制作実績を見る

blog

ブログ / お知らせ

ブログ一覧を見る