phpinfo() 是最权威的运行时 PHP 版本信息来源,它显示当前 Web 请求实际加载的 PHP 解释器版本、模块及配置路径,不受 CLI 版本或 php.ini 注释干扰;仅需新建 UTF-8 无 BOM 的 info.php 输出 phpinfo() 即可查看。

可以,phpinfo() 能直接查出当前 PHP 版本,而且是最权威的运行时版本信息来源。它显示的是实际执行脚本所用的 PHP 解释器版本,不受命令行 php -v 或配置文件误导——比如你改了 CLI 的 PHP 版本但没重启 Web 服务,phpinfo() 才反映真实情况。
为什么不能只信 php -v 或 php.ini 注释?
Web 服务器(如 Apache、Nginx + PHP-FPM)和 CLI 使用的 PHP 二进制可能不同;php.ini 文件也可能被多个环境共用或覆盖。只有 phpinfo() 显示的是当前请求真正加载的模块、编译参数和 PHP_VERSION 常量值。
- CLI 运行
php -v查的是终端默认 PHP,不等于 Web 环境 - php.ini 里写
; PHP Version 8.1.0是注释,不是运行时值 - 某些 Docker 或 cPanel 环境中,Web 和 CLI 的 PHP SAPI 完全隔离
快速创建 phpinfo() 页面的正确姿势
新建一个 info.php 文件,内容必须是纯 PHP 输出,且不能有前置空格或 BOM:
- 保存为 UTF-8 无 BOM 编码(VS Code / PHPStorm 默认可能带 BOM,需手动选“UTF-8 without BOM”)
- 放在 Web 根目录(如
/var/www/html/或public_html/),通过浏览器访问http://yoursite.com/info.php - 页面顶部第一行就是
PHP Version,加粗显示,例如:PHP Version 8.2.12 - 搜索页面内
Loaded Configuration File可确认当前生效的 php.ini 路径
只查版本号,不想暴露全部配置怎么办?
如果只是需要版本字符串(比如部署脚本判断),别用 phpinfo() —— 它输出太重,且有安全风险(泄露路径、扩展、环境变量)。改用内置常量或函数:
立即学习“PHP免费学习笔记(深入)”;
-
echo PHP_VERSION;→ 输出字符串8.2.12 -
echo PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION;→ 得到8.2 -
var_dump(PHP_VERSION_ID);→ 返回整数80212,适合数值比较(如if (PHP_VERSION_ID >= 80100))
注意:PHP_VERSION 是编译时确定的常量,和 phpinfo() 显示的一致,但更轻量、无副作用。
真正容易被忽略的是:有些共享主机或安全加固环境会禁用 phpinfo()(通过 disable_functions = phpinfo),这时函数调用直接返回 false 且无提示。遇到空白页或 500 错误,先检查 error_log 或用 function_exists('phpinfo') 探测是否可用。











