WordPressのダッシュボードにPHP更新の推奨が表示された

スポンサーリンク

ブログを運用してきたワードプレスでPHP更新の推奨が表示されました。

サイトがPHPの安全でないバージョン (7.1.9) で動作しています。更新してください。
PHP は WordPress の開発や保守に使用されているプログラミング言語です。PHP の新しいバージョンはパフォーマンスの向上を目指して開発されており、サイトのパフォーマンスにも良い影響を与えます。PHP の最低推奨バージョンは7.4です。

ということでPHPのバージョンをあげることにしました。
PHP8をWindows Server 2008にインストールしてIIS(インターネットインフォメーションサービス)の設定をします。
PHP8を公式サイトからダウンロードします。IISではNon-Thread版を使用します。

PHP For Windows: Binaries and sources Releases

ダウンロード完了後は展開して適当なフォルダに移動します。Cドライブ直下にフォルダごと移動しました。コマンドプロンプトでどこからでもPHPが使用できるように環境変数のPATHに、PHPのフォルダの場所を登録します。古いバージョンのPHPのパスは削除します。

バージョンを確認するコマンドを入力します。

php -v

php7からphp8に表記が変わりました。


次はPHPの設定ファイル「php.ini」を編集します。「php.ini-production」のファイル名を「php.ini」に変更して記述内容を利用します。公式サイトの説明を参考にして編集します。

PHP: 古い Windows システムへのインストール - Manual

ここでは次の内容を記述しました。

open_basedir = none
fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.force_redirect = 0
cgi.fix_pathinfo=1
upload_max_filesize = 100M
max_file_uploads = 50
extension_dir = “C:\php-8.0.2-nts-win32-vs16-x64\ext”
date.timezone = Asia/Tokyo
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
extension=php_opcache

PHP8からJITが使えるようになり、高速になるということで次の内容も記述しました。

opcache.jit = on
opcache.jit_buffer_size = 128M

この段階でまだPHP7がIISに設定されているのでPHP8を登録します。PHPマネージャをクリックして「新規のPHPバージョンを登録する」でそれは可能です。PHP8のフォルダにある「php-cgi.exe」を登録しておきます。

「FastCGIの設定」でも登録されていました。以前のバージョンは使用しないので削除しておきました。古いPHPのフォルダ自体を削除しない限り、なにかトラブルがあった時に元に戻せます。ハンドラーマッピングでも以前のバージョンを削除します。


IISを再起動して、ログを確認するとなにかのエラーがありました。エラーログの場所はPHPマネージャで確認できます。

PHP Warning: PHP Startup: Unable to load dynamic library ‘php_xmlrpc.dll’ (tried: C:\php-8.0.2-nts-Win32-vs16-x64\ext\php_xmlrpc.dll (指定されたモジュールが見つかりません。), C:\php-8.0.2-nts-Win32-vs16-x64\ext\php_php_xmlrpc.dll.dll (指定されたモジュールが見つかりません。)) in Unknown on line 0

PHP8に含まれるDLLファイルで「php_xmlrpc.dll」などはないのでphp.iniファイルで次の内容を削除しました。エラーがなくなるまで続けます。

extension=php_xmlrpc.dll
extension=php_mysql.dll
extension=php_gd2.dll

PHPマネージャにある「すべての設定の管理」をクリックすると、php.iniに記述した内容を確認できます。

こちらで編集もできます。PHPマネージャにはPHPの拡張もあるので、こちらも確認します。

WordPressのダッシュボードにPHP更新の推奨が表示された

コメント

タイトルとURLをコピーしました