PHP 8.2 → PHP 8.4
現在の PHP バージョンを確認
php -v
PHP 8.2.29 (cli) (built: Jul 3 2025 16:16:05) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.29, Copyright (c) Zend Technologies
with Zend OPcache v8.2.29, Copyright (c), by Zend Technologies
Sury PHP リポジトリを追加(まだ入れてない場合)
apt update
apt install -y ca-certificates apt-transport-https software-properties-common lsb-release wget
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
apt update
PHP 8.4 をインストール
sudo apt install -y php8.4 php8.4-fpm php8.4-mysql php8.4-xml php8.4-curl php8.4-gd php8.4-mbstring php8.4-zip php8.4-intl php8.4-bcmath
PHP-FPM のソケットを確認
Debian では通常:
• PHP 8.2 → /run/php/php8.2-fpm.sock
• PHP 8.4 → /run/php/php8.4-fpm.sock
新しい PHP-FPM のソケットを確認:
systemctl status php8.4-fpm
● php8.4-fpm.service - The PHP 8.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.4-fpm.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-08-18 08:37:17 JST; 3min 32s ago
Docs: man:php-fpm8.4(8)
Process: 13860 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /e>
Main PID: 13857 (php-fpm8.4)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0.00req/sec"
Tasks: 3 (limit: 37515)
Memory: 12.8M
CPU: 62ms
CGroup: /system.slice/php8.4-fpm.service
├─13857 "php-fpm: master process (/etc/php/8.4/fpm/php-fpm.conf)"
├─13858 "php-fpm: pool www"
└─13859 "php-fpm: pool www"
Aug 18 08:37:17 web215 systemd[1]: Starting php8.4-fpm.service - The PHP 8.4 FastCGI Process Manager>
Aug 18 08:37:17 web215 systemd[1]: Started php8.4-fpm.service - The PHP 8.4 FastCGI Process Manager.
Nginx の設定
PHP 8.4 に変更
WordPress 用の server ブロックで、fastcgi_pass を PHP 8.4 に書き換えます。
例:/etc/nginx/sites-available/wordpress.conf
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
}
Nginx 設定ファイルの確認とリスタート
nginx -t
systemctl restart nginx
php設定ファイル
もしも、php.ini の設定ファイルを変更して使用していたなら、新しいバージョンには反映されません。
古い
/etc/php/8.2/fpm/php.ini
新しい
/etc/php/8.4/fpm/php.ini
上書きコピーしても良いかもしれませんが、設定が違っている可能性もあるので、注意してください。
vi /etc/php/8.4/fpm/php.ini
php.ini 設定の編集
標準で設定されているphpは、小さなメモリーサイズでも動作する。サーバーに余裕があるのであれば、ちょと変更してみよう。
古い PHP (8.2) を止める
PHP 8.2 を無効化してもよいですが、動作確認までは残しておくのが安全です。
一時的に残す場合:
systemctl stop php8.2-fpm
systemctl disable php8.2-fpm
プロセスを止めて、
自動で起動しないように disable しておく。