サーバーの管理画面でPHPのバージョンを上げたのにWordPressの管理画面に反映されない場合の対処方法
公開日
by
WordPressで、サーバーの管理画面でPHPのバージョンを上げたのに、WordPressの管理画面に反映されない場合の対処方法をご紹介します。
ここでは例として、Xサーバーを使った手順を解説します。
サーバー側のPHPバージョン確認
まずはXサーバーのサーバーパネルで、PHPのバージョンを確認します。
例えば、WordPressのバージョンが古く、アップデートを行うためにPHPのバージョンを上げたい場合、PHPのバージョンが古いままになっていることがあります。そこで、PHPのバージョンを8.2にアップします。
WordPress管理画面の確認
次に、WordPressの管理画面を開いてアップデートのお知らせを確認します。
ところが、PHPのバージョンが古いまま表示され、WordPressもこれを認識してアップデートボタンが表示されない状況に遭遇しました。ここから原因を探ります。
.htaccessの確認
こういった場合、.htaccessにPHPのバージョンを固定する記述が残っていることがよくあります。
そのため、サーバー上の.htaccessファイルをすべて確認したところ、次のような記述を発見しました。
#####fastcgi#####
AddHandler fcgid-script .php .phps .html
FCGIWrapper "/home/domain/exsample.com/xserver_php/php-cgi" .php
FCGIWrapper "/home/domain/exsample.com/xserver_php/php-cgi" .phps
FCGIWrapper "/home/domain/exsample.com/xserver_php/php-cgi" .html
#####end:fastcgi#####
どうやらこの記述のせいで、サーバーの管理画面で設定したPHPのバージョンが正しく反映されず、この php-cgi が優先して使われていたようです。
そのため、.htaccessのこの部分を削除します。
※本番環境で対応する場合は、必ずバックアップを行い、サイトに影響がないことを確認した上で、自己責任で対応してください。
削除後の状況と対策
記述を削除してWordPressサイトを確認すると、次のエラーが表示されました。
Fatal error: __autoload() is no longer supported, use spl_autoload_register() instead in /home/domain/exsample.com/public_html/wwc/wordpress/wp-includes/compat.php on line 502
これは、PHP7.2以降で__autoload()が非推奨となり、PHP8.0で完全に削除されたために発生するエラーです。
そこで、サーバーの管理画面でPHPのバージョンを一旦7.4に下げて再度確認したところ、エラーが解消され、WordPressサイトが正常に表示されました。
最終作業
ここまで来れば、あとはWordPressのバージョンを最新版にアップデートし、アップデート完了後に改めてPHPのバージョンを8.2へアップすれば作業完了です。
まとめ
PHPのバージョンを上げたのにWordPressに反映されない場合は、まず.htaccessにPHPの実行環境を固定する記述がないか確認するのがおすすめです。古い記述が原因で、サーバー設定のPHPバージョンが無視されているケースが意外と多いので、同じような状況の方の参考になれば幸いです。