在Linux系统中,检查PHP版本信息是日常运维和开发中的常见需求,无论是为了确保代码兼容性、升级到安全版本,还是排查环境问题,都需要准确掌握当前PHP的版本号及相关配置,以下是多种在Linux下查看PHP版本信息的方法,涵盖命令行、Web环境、配置文件等多个场景,并附适用场景和注意事项,帮助用户根据实际情况选择最合适的操作方式。

使用 php -v 命令(最常用,CLI环境)
php -v 是最直接、最常用的查看PHP版本的方法,适用于已安装PHP命令行接口(CLI)的环境。
操作步骤:
- 打开终端(Terminal),直接输入命令:
php -v
- 若系统默认PHP版本正确,会输出类似以下信息:
PHP 7.4.33 (cli) (built: Oct 26 2023 10:12:34) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.33, Copyright (c) Zend Technologies with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies输出解读:
- 第一行括号内
(cli)表示当前为命令行模式,PHP 7.4.33即为核心版本号; - 后两行分别为Zend引擎版本和OPcache扩展版本(若启用)。
注意事项:
- 若提示
command not found: php,说明系统未安装PHP CLI或未将其加入PATH环境变量,需先安装PHP(如Ubuntu/Debian用sudo apt install php,CentOS/RHEL用sudo yum install php); - 若系统存在多个PHP版本(如同时安装PHP 7.2和PHP 8.1),可通过
php7.4 -v、php8.1 -v等指定版本号查看,或使用which php确认当前默认PHP路径。
使用 php --version(等效于 -v)
php --version 是 php -v 的完整形式,功能完全一致,适用于不习惯短参数的用户。
操作步骤:
php --version
输出结果:与 php -v 完全相同,此处不再赘述。
通过 phpinfo() 函数查看(Web环境)
当PHP运行在Web服务器(如Apache、Nginx)中时,可通过 phpinfo() 函数在浏览器中查看详细版本信息,包括配置参数、已加载模块等。
操作步骤:
- 在网站根目录(如
/var/www/html)创建一个PHP文件,info.php为:<?php phpinfo(); ?>
- 保存后,通过浏览器访问
http://localhost/info.php(若域名已配置,则为http://yourdomain.com/info.php); - 页面顶部会显示类似以下信息:
PHP Version 7.4.33 System Linux ubuntu 5.4.0-150-generic #167-Ubuntu SMP Sat Sep 17 15:51:52 UTC 2022 x86_64 Build Date Oct 26 2023 10:12:34 Server API Apache 2.4.41 (Ubuntu)
输出解读:
PHP Version即为核心版本号;System显示操作系统信息;Server API表明当前PHP运行模式(如Apache的mod_php、Nginx的php-fpm)。
注意事项:

- 生产环境中使用后务必删除
info.php文件,避免泄露服务器敏感信息(如配置路径、扩展模块等); - 若页面空白或下载文件,说明Web服务器未正确解析PHP,需检查PHP模块安装(如Apache启用
libphp7.4.so,Nginx配置php-fpm)。
查看PHP配置文件中的版本信息
PHP的配置文件 php.ini 中通常包含版本注释信息,可通过直接读取或过滤命令查看。
操作步骤:
- 定位
php.ini文件路径(CLI模式可通过php --ini查找,Web模式需结合Web服务器配置,如Apache的php_admin_value engine Off可能指向/etc/php/7.4/apache2/php.ini); - 使用
grep命令过滤版本信息:grep "PHP Version" /etc/php/7.4/cli/php.ini
- 输出示例:
; PHP Version = 7.4.33
注意事项:
- 配置文件中的版本信息通常为注释( 开头),需确认路径是否与当前运行的PHP版本一致;
- 不同PHP版本的
php.ini路径可能不同(如PHP 8.1路径为/etc/php/8.1/cli/php.ini),需提前确认。
使用包管理器查询已安装的PHP版本
若PHP通过系统包管理器(如apt、yum)安装,可通过查询已安装包列表获取版本信息。
Debian/Ubuntu 系统(使用 apt)
apt list --installed | grep php
输出示例:
php7.4-common/xenial-updates,xenial-updates,now 1:7.4.33-0ubuntu0.16.04.1 amd64 [installed,local] php7.4-fpm/xenial-updates,xenial-updates,now 1:7.4.33-0ubuntu0.16.04.1 amd64 [installed,local] php7.4-cli/xenial-updates,xenial-updates,now 1:7.4.33-0ubuntu0.16.04.1 amd64 [installed,local]
解读:包名中的 4 即为PHP版本号,后为发行版版本号。
CentOS/RHEL 系统(使用 yum 或 dnf)
yum list installed | grep php # CentOS 7及以下 # 或 dnf list installed | grep php # CentOS 8/RHEL 8及以上
输出示例:
php-common.x86_64 7.4.33-1.el7.remi @remi-safe php-fpm.x86_64 7.4.33-1.el7.remi @remi-safe php-cli.x86_64 7.4.33-1.el7.remi @remi-safe
解读:第二列为包的版本号,4.33 即为PHP核心版本。
查看PHP模块中的版本信息
通过PHP的 -m(列出模块)或 -i(信息接口)参数,可间接获取版本信息,适合需要确认扩展版本的场景。
操作步骤:

- 使用
-i参数过滤版本:php -i | grep "PHP Version"
输出:
PHP Version => 7.4.33 - 使用
-m参数查看模块列表(若需确认某扩展版本,可进一步过滤):php -m | grep -i "pdo" # 查看PDO扩展是否安装
检查特定PHP路径的版本
若系统存在多个PHP版本(如源码安装与包管理器安装共存),可通过绝对路径指定版本查看。
操作步骤:
/usr/bin/php7.4 -v # 查看系统默认PHP 7.4版本 /usr/local/bin/php8.1 -v # 查看源码安装的PHP 8.1版本
适用场景:多版本PHP共存时,需明确指定路径避免调用错误版本。
方法对比与选择
为方便用户快速选择合适方法,以下是常见方法的对比总结:
| 方法 | 适用场景 | 是否需PHP环境 | 输出详细程度 | 操作难度 |
|---|---|---|---|---|
php -v |
CLI环境快速查看 | 是 | 中等(核心+引擎) | 低 |
phpinfo() |
Web环境详细查看 | 是(需Web服务器) | 高(配置+模块+环境) | 中 |
grep "PHP Version" |
查看配置文件注释版本 | 是(需配置文件路径) | 低 | 中 |
| 包管理器查询 | 确认安装包的版本号 | 否 | 低(仅包版本) | 低 |
php -i | grep |
通过信息接口过滤版本 | 是 | 中等 | 低 |
注意事项
- 多版本共存:若系统安装多个PHP版本(如PHP 7.2/7.4/8.1),建议通过版本号命令(如
php7.4 -v)或绝对路径调用,避免默认版本错误; - PATH环境变量:若
php -v报错,需确认PHP CLI安装路径是否在$PATH中,可通过echo $PATH查看,或使用export PATH=$PATH:/usr/local/bin(假设PHP在/usr/local/bin)临时添加; - Web服务器配置:通过
phpinfo()查看Web环境版本时,需确保PHP已正确集成到服务器(如Apache的mod_php或Nginx的php-fpm),否则无法解析PHP文件。
相关问答FAQs
Q1: 如何在Linux中查看当前Web服务器(如Nginx)实际运行的PHP版本?
A: 若Nginx通过 php-fpm 运行PHP,可通过以下步骤查看:
- 查找
php-fpm配置文件路径(通常在/etc/php/X.Y/fpm/php.ini或/etc/php/X.Y/fpm/pool.d/www.conf); - 使用
ps aux | grep "php-fpm"确认当前运行的php-fpm进程; - 或通过
systemctl status php7.4-fpm(假设版本为7.4)查看进程详情,配置文件路径通常在Configuration from /etc/php/7.4/fpm/php-fpm.conf中; - 最直接的方式是创建
phpinfo()文件,通过浏览器访问查看Server API是否为FPM/FastCGI,并确认版本号。
Q2: Linux下如何切换默认的PHP版本(如从PHP 7.4切换到PHP 8.1)?
A: 切换默认PHP版本需根据安装方式选择合适方法:
- 通过
update-alternatives(适用于Debian/Ubuntu):- 注册可用PHP版本:
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 70 sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 80
- 切换版本:
sudo update-alternatives --config php
按提示选择版本编号(如输入
2选择PHP 8.1);
- 注册可用PHP版本:
- 通过修改符号链接(适用于源码安装或自定义路径):
sudo rm /usr/bin/php # 删除旧符号链接 sudo ln -sf /usr/bin/php8.1 /usr/bin/php # 创建新符号链接指向PHP 8.1
- 重启Web服务器:切换后需重启Apache(
sudo systemctl restart apache2)或Nginx(sudo systemctl restart nginx)使配置生效。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34077.html