PHP は実行方式(SAPI:Server Application Programming Interface)によって 3 つに分類できます。

  • CLI版(php-cli)
  • php-fpm(FastCGI Process Manager)
  • Apacheモジュール版(mod_php)

インストールを確認

# cli, php-fpm, mod_php が使用可能
ls /etc/php/8.3/

cli  fpm  mods-available

バージョンを確認

CLI:

php -v
# バージョン指定なし
dpkg -l 'php*-cli' | grep ^ii
# バージョン指定あり
dpkg -l php8.3-cli | tail -1

php -v は

php-fpm:

# バージョン指定なし
dpkg -l 'php*-fpm' | grep ^ii
# バージョン指定あり
dpkg -l php8.3-fpm | tail -1

grep ^ii は、正常にインストールされているものだけを表示します。削除済みで設定ファイルだけ残っている rc 状態のパッケージを除外できます。

mod_php

# バージョン指定なし
dpkg -l 'libapache2-mod-php*' | grep ^ii
# バージョン指定あり
dpkg -l libapache2-mod-php8.3 | tail -1

配布元リポジトリを確認

apt-cache policy(apt policy)でインストール済みのバージョンと、提供リポジトリを提供します。

apt-cache policy php8.3-cli
apt-cache policy php8.3-fpm
apt-cache policy libapache2-mod-php8.3

mod-php(libapache2-mod-php8.3)の例:

apt-cache policy libapache2-mod-php8.3
libapache2-mod-php8.3:
  Installed: 8.3.6-0ubuntu0.24.04.2
  Candidate: 8.3.6-0ubuntu0.24.04.2
  Version table:
 *** 8.3.6-0ubuntu0.24.04.2 500
        500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
        100 /var/lib/dpkg/status
     8.3.6-0ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages

500 や 100 は APTのピン留め優先度(Pin Priority) です。同じパッケージを複数のバージョン・複数のリポジトリから入手できるとき、どれを優先して選ぶかを決める数値です。 500 は通常のリポジトリの既定値、100 はすでにインストール済みのバージョン(/var/lib/dpkg/status)に付く既定値です。