AlmaLinuxでWebサーバーを構築していると、「今使っているPHPのバージョンって何だっけ?」と確認したくなることがありますよね。
セキュリティアップデートが必要か判断したり、特定のバージョンが必要なアプリケーションを動かす前に、現在のPHPバージョンを把握しておくのは重要です。
この記事では、AlmaLinuxでPHPのバージョンを確認する方法を、初心者の方にも分かりやすく解説していきます。
確認方法は主に2つ:
- コマンドラインで確認する方法(SSH接続時など)
- Webブラウザで確認する方法(phpinfo使用)
それぞれの方法と、インストール済みのPHP関連パッケージの確認方法、トラブルシューティングまで詳しく説明していきますよ。
方法1:コマンドラインでPHPバージョンを確認

最も基本的で素早い確認方法は、コマンドラインを使う方法です。
基本コマンド:php -v
ターミナルで以下のコマンドを実行してください:
php -v
または
php --version
出力例:
PHP 8.1.27 (cli) (built: Dec 19 2023 20:35:55) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.27, Copyright (c) Zend Technologies
with Zend OPcache v8.1.27, Copyright (c), by Zend Technologies
この出力から分かる情報:
- PHPバージョン:8.1.27
- 動作モード:cli(コマンドラインインターフェース)
- ビルド日時:2023年12月19日
- Zend Engineバージョン:4.1.27
- 有効なエクステンション:Zend OPcache
メジャーバージョンとマイナーバージョン
PHPのバージョン番号は「8.1.27」のような形式です。
- 8:メジャーバージョン(大きな変更)
- 1:マイナーバージョン(機能追加)
- 27:パッチバージョン(バグ修正)
セキュリティ的には、最新のパッチバージョンを使うことが推奨されます。
PHPがインストールされていない場合
もし以下のようなエラーが出たら、PHPがインストールされていません:
bash: php: コマンドが見つかりません...
または
bash: php: command not found
この場合は、まずPHPをインストールする必要があります。
方法2:phpinfo()でWebブラウザから確認
Webサーバー経由でPHPが動作している場合、phpinfo()関数を使って詳細情報を確認できます。
phpinfoファイルの作成
手順1:テストファイルを作成
Webサーバーのドキュメントルートにファイルを作成します。
Apacheの場合、通常は以下のディレクトリ:
/var/www/html/
viエディタで作成:
sudo vi /var/www/html/info.php
または、nanoエディタで:
sudo nano /var/www/html/info.php
手順2:以下の内容を記述
<?php
phpinfo();
?>
たったこれだけのコードで、PHP環境のすべての情報が表示されます。
手順3:ファイルを保存
viの場合:Escキーを押して:wqと入力してEnter
nanoの場合:Ctrl + X、Y、Enterで保存
手順4:ブラウザでアクセス
Webブラウザで以下のURLにアクセスします:
http://サーバーのIPアドレス/info.php
または
http://example.com/info.php
phpinfoページの見方
phpinfoページを開くと、紫色の背景に白文字で「PHP Version」と大きく表示されます。
ページ上部に表示される情報:
- PHPバージョン:メジャー、マイナー、パッチバージョン
- システム情報:OS、アーキテクチャ
- ビルド日時
- サーバーAPI:Apache 2.0 Handler、FPM-FCGIなど
さらに下にスクロールすると、以下の詳細情報が確認できます:
- 有効になっているモジュール(拡張機能)
- php.iniの設定値
- 環境変数
- インクルードパス
セキュリティ上の注意
phpinfoファイルは、システムの詳細情報を表示してしまうため、確認後は必ず削除してください。
sudo rm /var/www/html/info.php
本番環境で放置すると、攻撃者に情報を与えてしまうリスクがあります。
方法3:インストール済みPHPパッケージを確認
AlmaLinuxにインストールされているPHP関連のパッケージを確認する方法です。
dnfコマンドで確認
dnf list installed | grep php
または
rpm -qa | grep php
出力例:
php-8.1.27-1.el9.remi.x86_64
php-cli-8.1.27-1.el9.remi.x86_64
php-common-8.1.27-1.el9.remi.x86_64
php-fpm-8.1.27-1.el9.remi.x86_64
php-json-8.1.27-1.el9.remi.x86_64
php-mbstring-8.1.27-1.el9.remi.x86_64
php-mysqlnd-8.1.27-1.el9.remi.x86_64
php-xml-8.1.27-1.el9.remi.x86_64
この出力から分かること:
- インストールされているPHPパッケージの一覧
- 各パッケージのバージョン
- リポジトリ(この例では「remi」リポジトリ)
特定のパッケージ情報を詳しく確認
dnf info php
出力例:
インストール済みパッケージ
名前 : php
バージョン : 8.1.27
リリース : 1.el9.remi
アーキテクチャ: x86_64
サイズ : 3.7 M
ソース : php-8.1.27-1.el9.remi.src.rpm
リポジトリー : @remi-8.1
要約 : PHP scripting language
より詳細な情報が表示されます。
PHPモジュール(拡張機能)の確認
インストールされているPHP拡張機能を確認する方法です。
コマンドラインで確認
すべてのモジュールを表示:
php -m
出力例:
[PHP Modules]
calendar
Core
ctype
curl
date
dom
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
Phar
readline
Reflection
session
SimpleXML
SPL
standard
tokenizer
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
2つのセクションに分かれています:
- PHP Modules:通常のPHP拡張機能
- Zend Modules:Zend Engine関連(パフォーマンス最適化など)
特定のモジュールが有効か確認
特定のモジュールがインストールされているか確認:
php -m | grep mbstring
モジュール名が表示されれば、インストール済みです。
表示されなければ、インストールされていません。
モジュールの詳細情報
php --ri モジュール名
例えば、mysqliモジュールの情報:
php --ri mysqli
出力例:
mysqli
MysqlI Support => enabled
Client API library version => mysqlnd 8.1.27
Active Persistent Links => 0
Inactive Persistent Links => 0
モジュールのバージョンや設定が確認できます。
PHP設定ファイルの場所を確認

php.ini(PHP設定ファイル)の場所を確認する方法です。
設定ファイルのパスを表示
php --ini
出力例:
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/20-mbstring.ini,
/etc/php.d/20-mysqlnd.ini,
/etc/php.d/30-mysqli.ini,
/etc/php.d/30-pdo_mysql.ini
この情報から分かること:
- メイン設定ファイル:/etc/php.ini
- 追加設定ファイルのディレクトリ:/etc/php.d
- 実際に読み込まれている追加ファイル
php.iniの内容確認
設定ファイルの中身を見る:
cat /etc/php.ini | grep "^[^;]"
このコマンドは、コメント行(;で始まる行)を除いた有効な設定のみを表示します。
特定の設定値を確認
php -i | grep "memory_limit"
または
php -r "echo ini_get('memory_limit');"
出力例:
128M
現在のメモリ制限値が表示されます。
CLI版とWebサーバー版のバージョン違いに注意
実は、コマンドライン版のPHPとWebサーバー版のPHPが、異なるバージョンになっていることがあります。
なぜバージョンが違うことがあるの?
以下のような理由で、異なるバージョンが共存することがあります:
- 異なるパッケージ:cli版とfpm版が別々にインストールされた
- パスの優先順位:複数バージョンがインストールされている
- 設定の違い:Apacheモジュール版とCLI版が別々に管理
両方のバージョンを確認する方法
CLI版(コマンドライン):
php -v
Webサーバー版:
phpinfoファイルをブラウザで確認(前述の方法2)
または、コマンドラインから:
echo "<?php phpinfo(); ?>" | php
PHP-FPMのバージョン確認
PHP-FPM(FastCGI Process Manager)を使用している場合:
php-fpm -v
出力例:
PHP 8.1.27 (fpm-fcgi) (built: Dec 19 2023 20:35:55)
動作モードが「fpm-fcgi」となっています。
複数のPHPバージョンがインストールされている場合
AlmaLinuxでは、複数のPHPバージョンを同時にインストールできます。
インストール済みバージョンの確認
dnf module list php
出力例:
AlmaLinux 9 - AppStream
Name Stream Profiles Summary
php 8.1 common, devel, minimal PHP scripting language
php 8.2 [d] common, devel, minimal PHP scripting language
[d]が付いているのがデフォルトバージョンです。
有効化されているバージョンを確認
dnf module list php --enabled
現在有効になっているPHPモジュールストリームが表示されます。
alternativesで管理されている場合
alternatives --display php
複数バージョンが登録されている場合、切り替え可能なバージョン一覧が表示されます。
特定バージョンのパスを確認
which php
または
whereis php
出力例:
php: /usr/bin/php /usr/lib64/php /etc/php.d /etc/php.ini /usr/share/man/man1/php.1.gz
実際に使われているPHPコマンドの場所が分かります。
ApacheでのPHPバージョン確認
Apache Webサーバーを使用している場合の確認方法です。
Apacheモジュールとして動作している場合
Apacheにロードされているモジュールを確認:
httpd -M | grep php
または
apachectl -M | grep php
出力例:
php_module (shared)
PHPがApacheモジュールとして動作していることが分かります。
Apacheの設定ファイルを確認
grep -r "LoadModule php" /etc/httpd/
PHPモジュールがどのように読み込まれているか確認できます。
NginxでのPHPバージョン確認
Nginx Webサーバーを使用している場合の確認方法です。
PHP-FPMのプロセス確認
ps aux | grep php-fpm
動作中のPHP-FPMプロセスが表示されます。
PHP-FPMの設定確認
php-fpm -t
設定ファイルのテストと、設定ファイルの場所が表示されます。
PHP-FPMのプールバージョン
cat /etc/php-fpm.d/www.conf | grep "^[^;]" | head -20
PHP-FPMプールの設定が確認できます。
トラブルシューティング
バージョン確認時によくある問題と解決方法です。
問題1:「php: command not found」
原因:
PHPがインストールされていないか、パスが通っていません。
解決方法:
PHPがインストールされているか確認:
dnf list installed | grep php
何も表示されなければ、インストールされていません。
インストールする場合:
sudo dnf install php php-cli
パスを確認:
echo $PATH
/usr/binがパスに含まれているか確認します。
問題2:CLIとWebサーバーでバージョンが違う
原因:
異なるPHPバイナリが使用されています。
解決方法:
使用されているバイナリを確認:
which php
ls -la /usr/bin/php
シンボリックリンクの場合、リンク先を確認します。
Webサーバーが使用しているPHPを確認:
phpinfoで「Server API」と「Configuration File Path」をチェックしてください。
問題3:php -vとphpinfoの情報が異なる
原因:
設定ファイルが異なる可能性があります。
解決方法:
それぞれの設定ファイルを確認:
CLI版:
php --ini
Web版:
phpinfoページで「Loaded Configuration File」を確認
異なる設定ファイルを使用している場合、表示される情報も変わってきます。
問題4:phpinfoページが表示されない
原因:
Webサーバーの設定やPHPの処理に問題があります。
解決方法:
ステップ1:Webサーバーが動作しているか確認
Apache:
systemctl status httpd
Nginx:
systemctl status nginx
ステップ2:PHPファイルの配置場所を確認
ls -la /var/www/html/info.php
ファイルが存在し、読み取り権限があるか確認します。
ステップ3:Apacheのエラーログを確認
sudo tail -f /var/log/httpd/error_log
エラーメッセージがないかチェックします。
ステップ4:PHPが正しく設定されているか
Apache:
httpd -t
Nginx:
nginx -t
設定ファイルにエラーがないか確認します。
バージョンアップやダウングレードの前に
PHPのバージョンを変更する前に、必ず現在のバージョンを記録しておきましょう。
現在の環境情報を保存
php -v > ~/php_version_backup.txt
php -m >> ~/php_version_backup.txt
php --ini >> ~/php_version_backup.txt
これで、現在のPHPバージョン、モジュール、設定ファイルの情報がファイルに保存されます。
バックアップの確認
cat ~/php_version_backup.txt
保存された情報を確認できます。
問題が発生した場合、この情報を元に元の状態に戻せます。
まとめ:PHPバージョンは定期的に確認しよう
AlmaLinuxでPHPバージョンを確認する方法をまとめます。
主な確認方法:
1. コマンドラインで確認
php -v
- 最も簡単で素早い
- SSH接続時に便利
- CLI版のバージョンを確認
2. phpinfoで確認
<?php phpinfo(); ?>
- Webブラウザで詳細情報を確認
- Webサーバー版のバージョンを確認
- すべての設定値が見られる
- 確認後は必ず削除
3. パッケージ情報で確認
dnf list installed | grep php
- インストール済みパッケージを確認
- リポジトリ情報も分かる
確認できる情報:
- PHPのバージョン番号(メジャー、マイナー、パッチ)
- インストール済みモジュール
- php.iniの場所
- ビルド情報
- Zend Engineバージョン
注意点:
- CLI版とWebサーバー版で異なる場合がある
- phpinfoファイルは確認後に削除
- セキュリティのため最新バージョンを保つ
- バージョン変更前は必ずバックアップ
関連コマンド:
php -m:モジュール一覧php --ini:設定ファイルの場所php -i:詳細情報(CLI版phpinfo)php-fpm -v:PHP-FPMのバージョン
PHPのバージョンは、セキュリティとパフォーマンスに直結する重要な情報です。
定期的に確認して、サポートが終了した古いバージョンを使い続けていないかチェックしましょう。
特に本番環境では、セキュリティアップデートが提供されているバージョンを使用することが重要です。
この記事で紹介したコマンドを使えば、いつでも簡単にPHPのバージョンを確認できますよ。
サーバー管理の基本スキルとして、ぜひこれらのコマンドを覚えておいてくださいね!


コメント