記事執筆時点で PHP の最新バージョンは8.1です。次期バージョンの8.2は2022年11月末に公開予定となっています。
WordPress の現在における PHP の推奨要件は7.4以上、最低要件は5.6.20以上となっています。
PHP 7.4 のセキュリティサポートが2022年11月末で切れますが、それまでに PHP 8.0または8.1に更新できることが安全上は望ましいです。
本記事では、WordPress を利用しているサイトにおいて、PHP 8.1 に更新しても問題ないかどうか検証しました。(執筆時点の WordPress バージョンは6.0.1)
目次
現時点では非推奨エラーが発生
現時点では致命的ではないものの、将来的に廃止される関数等を利用している場合は非推奨のエラーという意味である Deprecated
エラーとして表示されます。
![](https://b1155487.smushcdn.com/1155487/wp-content/uploads/2022/08/php81-error-1024x533.png?lossy=1&strip=1&webp=1)
8.1 に更新したところ、上記のように約30件程度の Deprecated
エラーが表示されました。今回の対象は全てプラグインでしたが、サイトで利用しているテーマや構成によって変わります。
ちなみに、別サイトで8.1に更新したところ、Deprecated
エラーが約50件程度発生しました。このサイトでも全てエラー対象はプラグインでした。
WordPress は PHP 8.1に対応中
現時点で、いくつか PHP 8.1 に対する対応が進行中です。
![](https://b1155487.smushcdn.com/1155487/wp-content/uploads/2022/08/php81-wpcore-1024x733.png?lossy=1&strip=1&webp=1)
PHP 8.1 のタグがついたクローズしていないトピックではいくつかのバグやエラー対応などが進行しています。なかには、WordPress 6.0 で解決予定だったトピックが延期し6.1に解決予定となっているものもありました。
![](https://b1155487.smushcdn.com/1155487/wp-content/uploads/2022/08/php81-movingto61-1024x299.png?lossy=1&strip=1&webp=1)
エラーを表示していない設定であれば PHP 8.1に更新しても表面上は問題ない
エラーが表示されるのは Deprecated
エラーであれば、エラーを表示する設定にしていなければ Deprecated
エラーは表示されません。エラーを表示させる設定は wp-config.php
ファイル内にある WP_DEBUG
を true
に設定します。
参考: WordPressのエラーをあえて表示する(「デバッグせずエラー発生」WordPressサイトにおけるPHPバージョンアップの注意点)
本番環境では WP_DEBUG
は false
になっているはずなので、Deprecated
エラーは表示されません。念の為、テスト環境や開発環境で WP_DEBUG
を true
に設定した上で、PHP を8.1に更新し、表示されるエラーを確認します。 Deprecated
エラーであれば一度 WP_DEBUG
を false
に変更し、エラーが表示されないか確認します。
エラーが表示されなければ、8.1に更新しても Deprecated
エラーは表示されないため表面上は問題有りません。厳密には Deprecated
エラーが出ているため、万全を期すにはエラーが解決されてから更新するのがいいでしょう。
デバッグモードの使い方や、画面に表示させずにログファイルに出力する方法などを以下にまとめましたのでご参考ください。
参考: テスト環境や開発環境を用意したら有効化しておきたいデバッグモード
非推奨エラーが解消されるのをもう少し待ってみる
PHP 8.0 のセキュリティサポートは2023年11月を予定しています。
![](https://b1155487.smushcdn.com/1155487/wp-content/uploads/2022/08/php81-eol-1024x501.png?lossy=1&strip=1&webp=1)
それまでは PHP 8.0 を安全に利用できるため、まずは8.0を使い続けていき、その間に WordPress 側やプラグイン開発者により PHP 8.1のバグ対応がされれば、Deprecated エラーは解消されます。
PHP 8.1の前に、8.0を使い続けていき、タイミングをみて解消されていれば8.1に更新、というのが手順としては良さそうです。WordPress 本体、プラグインの更新を忘れないようにしましょう。
「非推奨エラーは気にしないから8.1にしてしまう」というのも一つの方法です。ただ、WordPress 自体の PHP 8.1 対応は進行中のため、8.1を利用するにはそのリスクも承知の上で利用しましょう。
コメントを残す