怎样用phpinfo验证安装_确认PHP正确安装借助phpinfo【验装】

能正常输出 phpinfo() 页面即表明 PHP 已

安装且 Web 服务器正确加载 PHP 模块;它显示版本、扩展、php.ini 路径、时区、上传限制等关键信息,需通过浏览器访问 info.php 文件验证,成功表现为完整渲染的表格页面且各核心区域无报错或空白。

能正常输出 phpinfo() 页面,是确认 PHP 已安装且 Web 服务器(如 Apache 或 Nginx)已正确加载 PHP 模块的最直接方式。它不只告诉你“PHP 装了”,更暴露运行环境的关键细节:版本、扩展是否启用、php.ini 实际路径、时区、上传限制等。

怎么写一个能触发 phpinfo() 的文件

你不需要额外安装工具或命令行操作——只需一个极简的 PHP 文件,放在 Web 根目录下,通过浏览器访问即可。

  • 新建文件,例如 info.php,内容仅一行:
  • 保存到 Web 服务器可访问的目录中(如 Apache 默认是 /var/www/html/,Windows XAMPP 是 C:\xampp\htdocs\
  • 确保文件权限允许 Web 服务器读取(Linux 下常见为 644
  • 在浏览器中访问 http://localhost/info.php(或对应域名/IP + 路径)

看到什么才算验证成功

成功不是只看到“PHP Version”几个字,而是整个表格式页面完整渲染,且关键区域无报错或空白:

  • PHP Version 行显示具体版本号(如 8.2.12),而非 ??? 或报错
  • Loaded Configuration File 显示真实的 php.ini 路径(如 /etc/php/8.2/apache2/php.ini),说明配置文件被识别
  • Server API 显示 Apache 2.0 HandlerFPM/FastCGI,表明 PHP 是以预期模式运行的
  • 滚动查看 extensions 区域,确认你需要的扩展(如 mysqlicurlopenssl)状态为 enabled

常见失败现象和对应排查点

如果打不开页面、显示源码、或提示 500/404,问题通常不在 phpinfo() 本身,而在环境链路某处断开:

  • 浏览器显示原始代码()→ PHP 模块根本没被 Web 服务器加载,检查 Apache 的 libphp.so 是否载入,或 Nginx 是否配置了正确的 fastcgi_pass
  • 返回 404 → 文件路径不对,或 Web 服务器 DocumentRoot 配置指向了错误目录;也可能是文件名被重写规则拦截(如某些 CMS 的 .htaccess 屏蔽了 *.php
  • 返回 500 Internal Server Error → 检查 Web 服务器错误日志(如 Apache 的 error.log),常见原因是 php.ini 语法错误,或扩展模块与当前 PHP 版本不兼容
  • 页面打开但部分区域为空(如 mysql 相关全灰)→ 对应扩展未启用,需确认 extension=mysqliphp.ini 中未被注释,且该 so/dll 文件真实存在

为什么不能只依赖命令行 php -v

php -v 只验证 CLI SAPI 下的 PHP 是否可用,而 Web 环境用的是另一个 SAPI(如 apache2handlerfpm)。两者可能使用不同的 php.ini、不同扩展集、甚至不同 PHP 二进制文件。

例如:系统装了 PHP 8.1 CLI,但 Apache 加载的是旧版 7.4 的模块;或者 CLI 启用了 opcache,而 Web 端没开——这些差异只有 phpinfo() 能如实反映。

真正容易被忽略的是:很多一键环境(如 XAMPP、MAMP、Docker 镜像)会默认禁用 phpinfo()(通过 disable_functions),或把 display_errors 关掉导致错误静默。别只看有没有页面,要盯住“Loaded Configuration File”和各扩展的实际状态。