PHP8系の導入

WordPressで怒られるようになった。PHPの7系は問題だよねぇってことで8系の導入を検討。
でもね、ホストは未だにi386なわけで苦労するのが目に見えているから、ずっと躊躇していたのは事実なんだけど…

PHP 8系を導入してみる

まずは、現状の確認から

$ php -v
PHP 7.4.33 (cli) (built: Jul 27 2025 11:10:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

WordPressは8.3以上が推奨らしいので、8.3以上の導入を目指す。
どうやら、Debian bullseyeの環境ではphp8は公式では存在しないらしい?

いろいろ探すとDEB.SURY.ORGなるところで配布されているPHPを導入すれば良いらしいと判明。早速挑戦してみる。

ReadMe.txtを参考にして導入。

$ sudo apt-get update
$ sudo apt-get -y install lsb-release ca-certificates curl
$ sudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
$ sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
$ sudo apt-get update

これでインストールの準備ができたので、導入できるか確認。

$ apt search php8.4
ソート中... 完了
全文検索... 完了
libapache2-mod-php8.4/bullseye 8.4.13-1+0~20251001.34+debian11~1.gbpfc3fb8 i386
  server-side, HTML-embedded scripting language (Apache 2 module)
...

早速、php8.4 を導入していきます。

新たに php8.4-fpm php8.4-imagick も入れておきます。
PHP 8.0.0 以降、JSON拡張はコアに組み込まれているので、php7.4-json の後継はないみたい。
7.4でも指定しなくてもphp7.4-json が導入されるようす。

$ sudo apt install php8.4 libapache2-mod-php8.4 php8.4-curl php8.4-fpm php8.4-gd php8.4-intl php8.4-imagick php8.4-mbstring php8.4-mysql php8.4-xml php8.4-zip

今度は、PHPの切り替えを実施。

$ sudo update-alternatives --config php
$ sudo a2dismod php7.4
$ sudo a2enmod php8.4

最後に、Apacheのサービスを再起動

$ sudo service apache2 restart

ここまでは、Wordpressのためには良かったのだけど、裏サイトのPukiwikiがうまく動かなくて困ってしまった…

Linux

前の記事

Alma Linuxのカーネルビルド
Python

次の記事

MacBook AirでPython