phpinfo可查PHP版本吗_用phpinfo获取版本信息操作【查询】

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() —— 它输出太重,且有安全风险(泄露路径、扩展、环境变量)。改用内置常量或函数:

  • echo PHP_VERSION; → 输出字符串 8.2.12
  • echo PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION; → 得到 8.2
  • var_dump(PHP_VERS

    ION_ID);
    → 返回整数 80212,适合数值比较(如 if (PHP_VERSION_ID >= 80100)

注意:PHP_VERSION 是编译时确定的常量,和 phpinfo() 显示的一致,但更轻量、无副作用。

真正容易被忽略的是:有些共享主机或安全加固环境会禁用 phpinfo()(通过 disable_functions = phpinfo),这时函数调用直接返回 false 且无提示。遇到空白页或 500 错误,先检查 error_log 或用 function_exists('phpinfo') 探测是否可用。