在Linux系统中,查询PHP版本是开发运维中的常见需求,无论是调试环境、依赖检查还是版本升级,都需要准确获取当前PHP的版本信息,本文将详细介绍多种在Linux中查询PHP版本的方法,涵盖命令行、网页环境、配置文件等场景,并针对不同Linux发行版提供具体操作示例,帮助用户快速定位所需信息。

通过命令行直接查询(最常用)
命令行查询是最直接的方式,适用于已安装PHP CLI(命令行接口)的环境,PHP CLI通常与PHP-FPM或Apache/Nginx模块的PHP版本一致,但需注意多版本共存时可能需指定路径。
基础命令:php -v
这是最简洁的命令,直接输出PHP版本、编译信息及模块列表。
操作步骤:
- 打开终端,输入以下命令:
php -v
- 输出示例(以PHP 8.2为例):
PHP 8.2.10 (cli) (built: Sep 10 2023 15:25:10) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.10, Copyright (c) Zend Technologies with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies
其中第一行的
PHP 8.2.10即为核心版本号,cli表示当前环境为命令行模式。
指定PHP路径查询(多版本场景)
若系统安装了多个PHP版本(如PHP 7.4和PHP 8.1),默认php命令可能指向某个版本,需通过绝对路径或版本号指定。
-
方法1:使用
which或whereis查找PHP路径which php # 查找默认php命令路径(如/usr/bin/php) whereis php # 查找所有php相关路径(如/usr/bin/php /etc/php/8.1/cli/php.ini)
根据路径执行,
/usr/bin/php -v # 执行默认版本 /usr/bin/php8.1 -v # 若安装了php8.1命令,可直接调用
-
方法2:使用
update-alternatives管理(Ubuntu/Debian)
若通过update-alternatives管理多版本PHP,可通过以下命令查看及切换:sudo update-alternatives --config php # 列出可用PHP版本并选择
使用php --version(与-v等效)
该命令与php -v功能完全一致,输出内容相同,可根据习惯选择:
php --version
通过网页环境查询(适用于服务器环境)
若PHP运行在Web服务器(如Apache、Nginx)中,可通过创建PHP信息页面查看版本,同时可检查模块配置、环境变量等详细信息。
操作步骤:
-
创建PHP信息文件:
在网站根目录(如/var/www/html)创建info.php如下:
<?php phpinfo(); ?>
-
访问文件:
通过浏览器访问http://your_domain/info.php(your_domain替换为实际域名或IP),页面会显示详细的PHP配置信息。 -
定位版本信息:
在页面顶部“PHP Version”字段即可看到当前PHP版本号(如“PHP 8.1.2”)。
注意事项:
- 安全性:
phpinfo()会暴露服务器配置、路径等敏感信息,排查完成后务必删除该文件。 - 多站点环境:若使用虚拟主机,需确保文件放在对应站点的根目录,并检查Web服务器配置是否允许访问。
通过PHP配置文件路径推断版本
PHP配置文件(如php.ini)的路径通常包含版本信息,可通过定位配置文件间接判断PHP版本。
操作步骤:
-
查找
php.ini路径:php --ini # 输出PHP CLI的配置文件路径
输出示例:
Configuration File (php.ini) Path: /etc/php/8.2/cli Loaded Configuration File: /etc/php/8.2/cli/php.ini Scan for additional .ini files in: /etc/php/8.2/cli/conf.d
路径中的
2即为PHP版本号。 -
查看Web环境的
php.ini:
若需查询Web服务器使用的PHP版本,可通过以下方式定位配置文件:- Apache:执行
phpinfo()页面查找“Loaded Configuration File”字段。 - Nginx+PHP-FPM:通过
ps aux | grep php-fpm查看PHP-FPM进程,根据进程路径(如/usr/sbin/php8.1-fpm)推断版本。
- Apache:执行
通过包管理器查询(适用于源码包安装环境)
若PHP通过系统包管理器(如apt、yum、dnf)安装,可通过查询已安装包列表获取版本信息。
Ubuntu/Debian系统(使用apt)
dpkg -l | grep php # 列出所有已安装的PHP相关包 apt list --installed | grep php # 更直观显示包名及版本
输出示例:
php8.2-cli/now 8.2.10-1+ubuntu22.04.1+deb.sury.org+1 amd64 [installed,local] php8.2-fpm/now 8.2.10-1+ubuntu22.04.1+deb.sury.org+1 amd64 [installed,local]
包名中的php8.2即为核心版本。

CentOS/RHEL系统(使用yum或dnf)
rpm -qa | grep php # 使用yum(CentOS 7及以下) dnf list installed | grep php # 使用dnf(CentOS 8及以上)
输出示例(CentOS 8,使用dnf):
php-cli-8.0.28-1.el8.remi.x86_64 php-fpm-8.0.28-1.el8.remi.x86_64
通过Composer或Laravel Artisan间接查询
在开发环境中,若使用Composer管理依赖或Laravel框架,可通过相关工具间接获取PHP版本(适用于快速验证环境)。
Composer版本依赖
composer --version # 查看Composer版本,其依赖的PHP版本会显示在括号中
输出示例:
Composer version 2.5.8 2023-06-09 17:13:51 PHP 8.2.10 - /usr/bin/php8.2
Laravel Artisan命令
若项目使用Laravel,可通过artisan命令查看环境信息:
php artisan --version # 查看Laravel版本 php artisan about # Laravel 10+支持,输出详细环境信息(含PHP版本)
方法对比与选择
为方便用户根据场景选择合适方法,以下通过表格总结各方法的适用场景及优缺点:
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
php -v |
命令行环境,快速查询 | 简单直接,无需额外操作 | 需确保PHP CLI已安装 |
网页phpinfo() |
Web服务器环境,需详细配置信息 | 信息全面,可查模块/环境变量 | 需创建临时文件,存在安全风险 |
| 配置文件路径推断 | 无执行权限,需通过路径判断版本 | 适合排查安装路径问题 | 需结合路径解析,不够直观 |
| 包管理器查询 | 源码包安装环境,确认安装的包版本 | 可查所有PHP相关依赖包 | 需熟悉包管理器命令 |
| Composer/Artisan | 开发环境,依赖框架/工具的场景 | 间接验证,适合开发流程 | 依赖工具是否安装,非直接查询 |
相关问答FAQs
Q1:为什么执行php -v提示“command not found”?
解答:
该错误通常表示系统中未安装PHP CLI或PHP CLI未添加到系统环境变量(PATH),解决方法:
- 安装PHP CLI:
- Ubuntu/Debian:
sudo apt update && sudo apt install php-cli - CentOS/RHEL:
sudo yum install php-cli(或dnf install php-cli) - 若需指定版本(如PHP 8.1),需先添加第三方源(如Ondřej Surý的PHP源)。
- Ubuntu/Debian:
- 检查环境变量:
执行echo $PATH,确认PHP安装路径(如/usr/bin)是否包含在PATH中,若未包含,需添加到~/.bashrc或/etc/profile中。
Q2:Linux系统安装了多个PHP版本(如PHP 7.4和PHP 8.1),如何查看所有已安装的PHP版本?
解答:
可通过以下组合命令全面排查多版本PHP:
- 查看命令行可用的PHP版本:
ls /usr/bin/php* # 列出所有php可执行文件(如php7.4、php8.1)
- 通过包管理器查询已安装的PHP包:
- Ubuntu/Debian:
dpkg -l | grep php | awk '{print $2}' | cut -d'-' -f1 | sort -u - CentOS/RHEL:
rpm -qa | grep php | cut -d'-' -f1 | sort -u
- Ubuntu/Debian:
- 查看Web服务器使用的PHP版本:
- 若使用PHP-FPM,执行
systemctl status php*-fpm(如php7.4-fpm、php8.1-fpm)查看运行状态。 - 通过
phpinfo()页面确认Web环境实际加载的PHP版本。
- 若使用PHP-FPM,执行
通过以上方法,可全面掌握系统中所有PHP版本的安装及运行情况,便于多版本环境的管理与切换。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34117.html