最简单有效的方式是新建 phpinfo.php 文件并放入 Web 根目录,内容为 ,通过浏览器访问;命令行执行无法显示完整 html 样式与交互功能,且配置可能与 Web 环境不一致。

直接在 PHP 本地环境生成 phpinfo() 页面,最简单有效的方式就是新建一个纯 PHP 文件,写入 phpinfo(); 并用本地服务器访问它——不需要改配置、不依赖命令行、也不用重启服务。
新建一个 phpinfo.php 文件并放入 Web 根目录
这是最快生效的方法。确认你的本地环境(如 XAMPP、WAMP、MAMP 或 Laragon)的 Web 根路径(比如 C:xampphtdocs 或 /applications/MAMP/htdocs/),然后:
为什么不能直接在命令行执行 phpinfo()
phpinfo() 是一个输出 HTML 的函数,设计用于 Web 环境。在终端里运行 php -r "phpinfo();" 虽然能打印信息,但输出的是无格式纯文本,缺失 css 渲染、折叠面板、超链接跳转等关键交互能力,且部分扩展模块信息(如 Zend OPcache 配置页)根本不会显示。
- 命令行输出是
text/plain,没有样式和 js 交互 - 某些模块(如
opcache)的详细配置页仅在 Web 模式下激活 - 本地环境的
php.ini加载路径可能和 CLI 模式不同,看到的不是真实 Web 运行时配置
常见打不开或报错的原因
页面空白、500 错误或提示“function undefined”,通常不是 phpinfo() 本身问题,而是环境或写法细节没对上:
立即学习“PHP免费学习笔记(深入)”;
- 文件扩展名不是
.php(比如误存为.txt或.php.txt) - PHP 未启用:检查 apache/nginx 是否启动,且
LoadModule php_module或php-fpm已正确关联 - 短标签被禁用:如果用了
phpinfo(); ?>(带空格或没跟php),而short_open_tag = Off,就会解析失败——务必写成 - 权限问题:linux/macOS 下文件权限太严(如
600),Web 服务器用户(www-data或_www)无法读取
安全提醒:别把 phpinfo.php 留在生产环境
phpinfo() 会暴露完整 PHP 版本、扩展列表、php.ini 路径、环境变量、已加载模块的敏感配置(比如数据库驱动路径、ssl 证书位置)。开发调试完立刻删掉,或者加个简单访问控制:
真正容易被忽略的是:很多人生成完就忘了删,甚至提交到 git,结果上线后成了公开的信息泄露入口。