はじめに
PHP の脆弱性情報をきっかけに、AIX 環境で PHP がどのように導入されるのかを確認しました。
PHP は AIX Toolbox for Open Source Software から RPM パッケージとして提供されています。AIX Toolbox では PHP のほか、Python、Ruby、gcc、Git など、さまざまな OSS が AIX 向けに提供されています。
一方、PHP を明示的にインストールしていなくても、別の AIX Toolbox パッケージが PHP を依存関係として要求している場合があります。
そこで今回は、 AIX Toolbox メディアイメージ aix_linux_toolbox_072026.iso を使用してローカル DNF リポジトリを構成し、dnf repoquery を使って PHP 関連パッケージと依存関係を確認してみました。
本記事は、今回使用した環境および AIX Toolbox メディアイメージで確認した結果をまとめたものです。
AIX Toolbox のパッケージ構成や提供バージョン、依存関係などは変更される可能性があります。
実際の製品環境への適用や脆弱性への対応を判断する際は、IBM Support や AIX Toolbox for Open Source Software の最新情報・アナウンスなど、IBM が公開している正式な情報をご確認ください。
当記事の概要
AIX Toolbox と DNF
AIX Toolbox for Open Source Software は、AIX 向けにビルドされた OSS を RPM 形式で提供しています。
今回のイメージとしては、次のようになります。
AIX
|
+-- AIX Toolbox
|
+-- PHP
+-- Python
+-- Git
+-- gcc
+-- ...
IBM では AIX Toolbox のパッケージと依存関係の管理に DNF を案内しています。
今回は PHP そのものをインストールするのではなく、Toolbox の中で php8 を依存関係として要求しているパッケージがあるかを見てみます。
使用した AIX Toolbox ISO
今回使用したメディアイメージは次のものです。
aix_linux_toolbox_072026.iso
この ISO は 2026/07 頃に取得したのもので、今回の確認では、このメディアイメージに含まれる AIX Toolbox のリポジトリ情報を使って依存関係を確認しています。
ISO からローカル DNF リポジトリを構成したところ、今回の環境では次のリポジトリが認識されました。
Local AIX generic repository
Local AIX noarch repository
Local AIX 7.3 specific repository
リポジトリは次のコマンドで確認できます。
/opt/freeware/bin/dnf repolist
ローカル環境の DNF 構成については、以下をご参照ください。
ISO に収録されている PHP パッケージを確認する
最初に、リポジトリに収録されている PHP 関連パッケージを確認します。
/opt/freeware/bin/dnf repoquery 'php*'
実行結果は次のとおりです。
# /opt/freeware/bin/dnf repoquery 'php*'
Last metadata expiration check: 0:16:58 ago on Thu Oct 22 18:22:58 2026.
php8-0:8.1.33-1.ppc
php8-0:8.1.34-1.ppc
php8-cli-0:8.1.33-1.ppc
php8-cli-0:8.1.34-1.ppc
php8-common-0:8.1.33-1.ppc
php8-common-0:8.1.34-1.ppc
php8-devel-0:8.1.33-1.ppc
php8-devel-0:8.1.34-1.ppc
php8-fpm-0:8.1.33-1.ppc
php8-fpm-0:8.1.34-1.ppc
php8-gd-0:8.1.33-1.ppc
php8-gd-0:8.1.34-1.ppc
php8-intl-0:8.1.33-1.ppc
php8-intl-0:8.1.34-1.ppc
php8-ldap-0:8.1.33-1.ppc
php8-ldap-0:8.1.34-1.ppc
php8-mbstring-0:8.1.33-1.ppc
php8-mbstring-0:8.1.34-1.ppc
php8-mysqlnd-0:8.1.33-1.ppc
php8-mysqlnd-0:8.1.34-1.ppc
php8-pdo-0:8.1.33-1.ppc
php8-pdo-0:8.1.34-1.ppc
php8-pgsql-0:8.1.33-1.ppc
php8-pgsql-0:8.1.34-1.ppc
php8-soap-0:8.1.33-1.ppc
php8-soap-0:8.1.34-1.ppc
php8-xml-0:8.1.33-1.ppc
php8-xml-0:8.1.34-1.ppc
php8-zip-0:8.1.33-1.ppc
php8-zip-0:8.1.34-1.ppc
#
この結果から、今回使用した ISO には PHP 8.1.33 と PHP 8.1.34、およびそれぞれに対応する拡張パッケージが収録されていることが分かります。
今回使用した ISO では PHP 本体のパッケージ名が php8 となっているため、依存関係の確認でも php8 を検索対象にします。
repoquery で PHP の依存関係を調べる
DNF の repoquery を使うと、リポジトリに含まれる RPM の情報を問い合わせることができます。
今回使うのは --whatrequires です。
/opt/freeware/bin/dnf repoquery --whatrequires php8
これは、php8 を依存関係として要求するパッケージを検索する指定です。
php8 を必要とするパッケージを確認する
実際に確認した結果は次のとおりです。
# /opt/freeware/bin/dnf repoquery --whatrequires php8
Last metadata expiration check: 0:00:25 ago on Thu Oct 22 18:22:58 2026.
ganglia-web-0:3.7.7-1.noarch
#
次のパッケージが表示されました。
ganglia-web-0:3.7.7-1.noarch
今回使用したリポジトリでは、次の依存関係があることが分かります。
ganglia-web 3.7.7
|
| Requires
v
php8 >= 8.1.34
つまり、今回使用したリポジトリでは、ganglia-web が php8 >= 8.1.34 を依存関係として要求していることが確認できました。
ganglia-web 側から依存関係を確認する
逆方向から、ganglia-web が何を必要としているか確認することもできます。
/opt/freeware/bin/dnf repoquery --requires ganglia-web
実際の確認結果は次のとおりです。
# /opt/freeware/bin/dnf repoquery --requires ganglia-web
Last metadata expiration check: 0:15:30 ago on Thu Oct 22 18:22:58 2026.
/bin/bash
/bin/sh
php8 >= 8.1.34
#
PHP 関連だけを確認する場合は、次のように絞り込めます。
/opt/freeware/bin/dnf repoquery --requires ganglia-web | grep -i php
実際の確認結果は次のとおりです。
# /opt/freeware/bin/dnf repoquery --requires ganglia-web | grep -i php
Last metadata expiration check: 0:15:03 ago on Thu Oct 22 18:22:58 2026.
php8 >= 8.1.34
#
2つの問い合わせの違いは次のようなイメージです。
dnf repoquery --whatrequires php8
|
+-- php8 を必要としているパッケージは何か?
dnf repoquery --requires ganglia-web
|
+-- ganglia-web は何を必要としているか?
両方向から確認することで、ganglia-web と php8 の依存関係を確認できました。
実際に PHP がインストールされているか確認する場合
ここまで確認しているのは、DNF リポジトリ上のパッケージ間の依存関係です。
実際の AIX に PHP がインストールされているかは、例えば次のように確認できます。
rpm -qa | grep -i '^php'
また、リポジトリ全体ではなく、インストール済みパッケージに限定して PHP 8 を必要としているものを確認する場合は、次のように実行します。
/opt/freeware/bin/dnf repoquery --installed --whatrequires php8
整理すると、次のように使い分けられます。
repoquery --whatrequires php8
|
+-- リポジトリ上で php8 を要求するパッケージ
repoquery --installed --whatrequires php8
|
+-- インストール済みの中で php8 を要求するパッケージ
repoquery --whatrequires php8 でパッケージが表示されても、そのパッケージや PHP が実際の AIX にインストールされているとは限りません。
実際の導入状況は、rpm -qa などで別途確認します。
まとめ
今回、aix_linux_toolbox_072026.iso から構成した DNF リポジトリを使って、PHP の収録状況と、PHP を依存関係として要求するパッケージを確認しました。
PHP は AIX Toolbox for Open Source Software から RPM パッケージとして提供されています。
今回の ISO には、PHP 8.1.33、PHP 8.1.34、および関連する拡張パッケージが収録されていました。
さらに、次のコマンドを実行したところ、
/opt/freeware/bin/dnf repoquery --whatrequires php8
次のパッケージが見つかりました。
ganglia-web-0:3.7.7-1.noarch
ganglia-web 側の依存関係も確認すると、次の要件が設定されていました。
php8 >= 8.1.34
この結果から、今回使用したリポジトリでは、ganglia-web が php8 >= 8.1.34 を依存関係として要求していることを確認できました。
PHP に限らず、AIX Toolbox に含まれる OSS の依存関係を確認したい場合は、次のコマンドが手掛かりになります。
dnf repoquery --whatrequires <package>
今回の確認結果について
本記事で確認した内容は、今回使用した aix_linux_toolbox_072026.iso に収録されている、確認時点のリポジトリ情報をもとにした結果です。
実際の AIX 環境では、過去に AIX Toolbox から導入したパッケージや、現在の Toolbox には収録されていない古いパッケージを経由して、PHP が導入されている可能性もあります。
また、AIX Toolbox 以外の方法で導入された RPM や、個別に導入されたソフトウェアに PHP が含まれている可能性についても、今回のリポジトリ検索結果だけでは判断できません。
そのため、今回の repoquery の結果は、aix_linux_toolbox_072026.isoの AIX Toolbox メディアイメージにおける依存関係を確認した参考情報として扱います。
実際の環境における PHP の導入状況は、次のようなコマンドで別途確認する必要があります。
rpm -qa | grep -i '^php'
必要に応じて、インストール済み RPM の依存関係も確認します。
/opt/freeware/bin/dnf repoquery --installed --whatrequires php8
AIX Toolbox のパッケージ構成や依存関係は更新される可能性があります。
最新かつ正確な情報については、IBM Support の公開情報や、AIX Open Source / AIX Toolbox のコミュニティ情報もあわせて確認してください。
2026/10/26 追記
AIX Toolbox for Open Source Software で、php8 "8.5.12" 脆弱性対応版がリリースされています。
・PHp security alert
https://community.ibm.com/community/user/discussion/php-security-alert
