终端直接运行phpinfo()会报错,因它是PHP函数而非shell命令;正确方法是php -r "phpinfo();"或php -a交互模式执行,注意CLI与Web环境配置不同。
phpinfo() 会报错,别硬试直接在命令行敲 phpinfo() 不会输出信息,而是报错 PHP Fatal error: Uncaught Error: Call to undefined function phpinfo()。因为 phpinfo() 是 PHP 的内置函数,不是 shell 命令,必须在 PHP 解释器上下文中执行。
php -r 一行执行最简单这是最快捷、无需写文件的方法,适合快速验证 PHP 版本、扩展是否加载:
php -r "phpinfo();"
注意细节:
-r 参数表示“运行代码”,不隐式包含 ,所以必须自己写完整语句
php -r "phpinfo();" | grep "gd"
php -a 交互模式执行(适合调试多行逻辑)进入交互式 PHP 环境后,可以逐行输入并执行,适合临时测试变量或函数行为:
php -a
然后输入:
> phpinfo();
回车即输出。退出按 Ctrl+D(Linux/macOS)或 Ctrl+Z(Windows)。注意:
Interactive mode enabled but readline extension is not available),此时只能用 -r
php -a 默认不加载所有配置(如 php.ini 中的 disable_functions 可能拦掉 phpinfo),实际行为以 php --ini 显示的配置路径为准默认输出内容很长,终端可能截断或难以检索。用重定向保存成 HTML 或文本更实用:
php -r "phpinfo();" > phpinfo.html
或生成纯文本(去掉 HTML 标签,方便 grep):
php -r "ob_start(); phpinfo(); echo strip_tags(ob_get_clean());" > phpinfo.txt
关键点:
phpinfo() 默认输出 HTML,直接重定向为 .html 文件后可用浏览器打开,格式清晰phpinfo()(常见于生产环境),disable_functions 配置里含 phpinfo,这时命令行也会失败,需检查 php -i | grep disable
php.ini 往往不同,php --ini 和 php -i 输出的配置路径要核对清楚真正容易被忽略的是:命

phpinfo() 输出的内容可能完全不同——查扩展是否启用、时区、内存限制前,先确认你查的是哪个环境。