查看服务器上支持的PHP版本,最直接的方法是执行 php -v 命令,它会立刻返回当前PHP的完整版本号、运行模式以及编译时间。 如果你没有命令行权限,还可以通过探针文件、面板后台、代码函数三种路径获取同样精准的结果,这篇文章会把所有可行方案拆开揉碎,从Linux到Windows,从宝塔到Docker,一次性讲清楚。
服务器php版本怎么查看:命令行三大场景实测
Linux服务器下用SSH执行命令
登录服务器终端后,输入以下命令即可看到结果:
php -v
类似于:
PHP 8.1.22 (cli) (built: Jul 4 2026 09:03:17) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.1.22, Copyright (c) Zend Technologies
第一行中的 PHP 8.1.22 就是当前服务器默认支持的PHP版本,注意这里显示的版本是命令行CLI模式的版本,它可能和网站运行的PHP-FPM版本不一致,如果你想确认Web环境里的版本,需要配合下方其他方法交叉验证。
如果系统里有多个PHP版本,可以用以下命令查看所有已安装版本:
ls /usr/bin/php
或者使用系统包管理工具:
# CentOS/RedHat系 yum list installed | grep php # Ubuntu/Debian系 dpkg -l | grep php
Windows服务器在CMD或PowerShell中查看
Windows服务器安装PHP后,需要先切换到PHP安装目录,或者把PHP路径加入系统PATH变量,然后在命令行执行:
php -v
如果你是IIS + PHP环境,还可以打开IIS管理器,在“处理程序映射”中查看PHP的版本配置,这里能看到具体加载的是哪个php-cgi.exe文件,右键该映射,点击“编辑”,弹出的对话框里就是完整的PHP可执行文件路径,路径中的版本号一目了然。
Docker容器内查看PHP版本
容器化部署已经是大势所趋,如果你的PHP运行在容器里,先进入容器再执行命令:
docker exec -it <容器名称或ID> php -v
如果容器已经停止,你可以通过镜像名称直接查看:
docker image inspect <镜像名称> | grep PHP_VERSION
这个方法不需要启动容器就能拿到版本号,适合快速排查。
宝塔面板查看php版本及其他面板操作路径
宝塔面板可视化查看与切换
使用宝塔面板的站长,在左侧菜单栏点击“软件商店”,然后找到PHP区域,就能看到所有已安装的PHP版本,当前正在使用的版本会标注“运行中”或“默认版本”。
宝塔面板查看php版本还支持多版本共存管理,你可以在“网站”列表中选择具体站点,点击“设置”,在弹出的窗口中查看“PHP版本”选项,点击下拉菜单,就能看到这台服务器上所有可用的PHP版本,选择后点击“保存”,站点会立即切换到对应版本,全程不需要动命令行。
WHM/cPanel面板怎么看PHP版本
这类国外面板的查看路径稍微隐蔽一些,但逻辑清晰:
- 登录WHM后台,在搜索框输入“MultiPHP Manager”
- 进入后,每个虚拟主机旁边都会列出当前PHP版本
- 在“MultiPHP Editor”中还能修改每个目录的PHP版本
cPanel用户则直接在“Select PHP Version”模块中操作,该模块会显示当前版本号,并允许你勾选需要启用的PHP扩展。
虚拟主机没有面板怎么办
部分便宜的主机商只提供文件管理器,这时候就用探针文件法,创建一个PHP文件,比如命名为 phpinfo.php,把以下代码放进去:
<?php phpinfo(); ?>
上传到网站根目录,然后在浏览器中访问 http://你的域名/phpinfo.php,页面顶部第一行就是完整的PHP版本号,同时还会展示编译参数、加载的配置文件路径、已启用的扩展等详细信息,查完之后请立即删除该文件,避免暴露服务器敏感信息。
用了PHP版本检测函数,程序代码自身也能回答
用 phpversion() 或 PHP_VERSION 常量
在PHP文件中写入:
<?php echo phpversion(); ?>
或者:
<?php echo PHP_VERSION; ?>
这两种方式返回的都是字符串形式的版本号,4.33,区别在于 phpversion() 还可以传入扩展名参数,phpversion('mbstring'),可以获取特定扩展的版本。
用 PHP_VERSION_ID 常量判断版本区间
这个常量返回的是整数形式的版本号,PHP 7.4.33 对应 70433,PHP 8.2.0 对应 80200,在程序开发中常用它来写条件判断:
if (PHP_VERSION_ID >= 80000) {
// 执行PHP 8.0以上版本的逻辑
}
这种方式比起字符串比较更加可靠,因为它不受版本号数字位数影响。
看完版本号之后,怎么判断服务器PHP版本能不能满足需求
对照程序或框架的硬性要求
查到了版本号,接下来的关键问题是:这个版本够用吗?
WordPress官方始终建议使用PHP 7.4及以上版本,但推荐的基准是PHP 8.2以上,如果你的版本低于7.4,后台会直接弹出黄色警告条,提示“您的站点正在运行不支持的PHP版本”。
Laravel框架的要求更明确:Laravel 10要求PHP版本不低于8.1,Laravel 11直接要求PHP 8.2起步,ThinkPHP 8.0则要求PHP版本不低于8.0。
这些程序在安装阶段就会做版本检测,版本不达标直接拒绝安装或者白屏报错。
查看已启用的PHP扩展,辅助判断运行环境兼容性
知道了版本号,还要确认扩展是否齐全,执行:
php -m
或者用上面的 phpinfo() 方法查看 Configure Command 和 Loaded Modules 段落,对比程序的 requirements 文档,可以逐项核对缺失的扩展,常见扩展有 pdo_mysql、curl、mbstring、openssl、fileinfo 等,缺哪个就安装哪个。
区分PHP CLI版本与Apache/Nginx模块版本
行业共识认为,最容易掉坑的场景是:命令行显示 PHP 7.4,但网站实际跑的是 PHP 5.6,原因在于,CLI和Web SAPI各自使用独立的配置文件,安装路径也不同。
想确认Web端真实版本,上面提到的 phpinfo() 方法最直接,注意查看页面中 Loaded Configuration File 和 Scan this dir for additional .ini files 这两个字段,它们指向的路径才是Web服务真正加载的配置。
php版本太低怎么升级,换版本前的三个准备步骤
第一步:备份当前站点与环境
升级前先做一次完整的垃圾清理,把不需要的旧文件删掉,然后用备份插件或手动打包方式,备份网站文件和数据库,如果是云服务器,建议直接创建快照,这样万一升级失败,可以一键回滚。
第二步:确认程序兼容性
这一步指的是在本地或测试环境中,用新版PHP完整跑一遍程序,检查是否有弃用函数警告或致命错误,特别注意以下常见变动:
- PHP 8.0移除了一批已废弃函数,
、each()
create_function() - PHP 8.0开始,未定义数组键的访问会抛出警告
- PHP 8.2开始,动态属性创建被标记为弃用
在测试环境跑通之前,不要贸然动生产环境的PHP版本。
第三步:切换版本并逐一验证
在宝塔面板中,安装好新版PHP后,在站点设置里切换版本,切换完成后,依次验证以下内容:
- 网站首页是否能正常打开
- 登录后台,看是否有警告信息
- 测试表单提交、文件上传、支付回调等涉及数据库和API的功能
- 查看PHP错误日志,确认无新增报错
在命令行环境下,使用系统包管理器升级PHP则需要注意软件源的更新,比如Remi仓库或Sury仓库,这些第三方仓库提供更高版本的PHP包,但修改软件源之前需要先评估其对系统稳定性的影响。
Q&A:围绕服务器php版本怎么查看的常见疑问
为什么 php -v 显示的版本和phpinfo探针显示的版本不一样
因为这两个SAPI在使用完全不同的配置文件,命令行CLI模式走的是 /etc/php/7.4/cli/php.ini,而Web服务使用的是 /etc/php/7.4/fpm/php.ini 或Apache模块方式下的配置文件,如果服务器安装了多版本PHP,CLI默认版本和Web默认版本可能不是同一个,这是正常现象,想要统一版本,需要修改系统的 alternatives 配置,或者调整面板里的默认PHP版本设置。
虚拟主机用户没有任何命令行权限,有办法查看PHP版本吗
有,用上传探针文件的方法,即上面提到的 phpinfo() 文件,如果主机商的文件管理器中可以直接编辑代码,你甚至不需要FTP工具,有些站点后台(比如WordPress的“工具-站点健康”页面)也会直接显示当前PHP版本,在不支持PHP的纯静态空间里,你无法通过PHP代码获取版本信息,这种情况说明该空间不支持动态网站程序。
服务器PHP版本显示7.4,但程序要求8.0,是不是只能重装系统
不用,PHP作为可并行安装的软件,完全可以在同一台服务器上共存多个版本,你只需要通过软件包仓库或面板安装PHP 8.0即可,不需要重装系统,安装完成后,按照面板或站点管理器的指引,将当前站点切换到新版本,把PHP版本升级到8.0以上之后,通常还会顺手解决掉一批PHP 7.4依赖问题,因为新版PHP的运行效率和类型安全机制比旧版有明显改进。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/593914.html



