导读:本期聚焦于行者创作的《命令行下如何运行phpinfo?终端执行PHP信息函数的完整操作方法》,敬请观看详情。想知道服务器上的PHP到底加载了哪些扩展、版本号是多少、配置文件路径在哪里,phpinfo()是最直接的排查工具。除了写一个网页文件放到Web目录,其实通过命令行也能快速查看这些信息。本文围绕终端环境下的phpinfo执行方式展开,介绍php -i与php -r两种常用命令的用法区别,讲解如何在Windows的cmd、PowerShell以及Linux、macOS终端中正确处理引号转义问题,同时说明CLI模式下查不到某些扩展的原因,比如扩展只在fpm或Apache模块中加载。文章还会给出查看单项配置的技巧,帮助你用更精准的命令代替大量输出,适合需要快速排查PHP环境的开发者和运维人员参考。

排查PHP环境问题时,phpinfo()几乎是每个人第一个想到的工具。写个文件丢到Web目录再打开浏览器固然可行,但如果手头只有SSH终端,或者机器上根本没装Web服务器,这种方式就行不通了。其实在命令行下查看PHP信息非常简单,而且比网页方式更快,输出结果还能配合管道命令做筛选。下面详细介绍几种在终端执行phpinfo的方法,以及实际操作中容易踩到的引号转义坑。

命令行下如何运行phpinfo?终端执行PHP信息函数的完整操作方法

一、最简单的方式:php -i 命令

PHP自带的命令行解释器(PHP CLI)提供了一个专用参数-i,执行后输出的内容与网页版phpinfo完全一致,包括PHP版本、编译选项、扩展列表、环境变量等,只是没有HTML排版,全部以纯文本形式呈现。基本用法如下:

php -i

这个命令的输出信息量非常大,通常会刷屏好几页。直接阅读效率不高,更实用的做法是配合grep命令筛选关心的内容。比如想确认PHP版本和配置文件位置:

php -i | grep "PHP Version"
php -i | grep "Loaded Configuration File"
php -i | grep "extension_dir"

在Linux或macOS上,还可以用php -i | less进入分页模式,按方向键翻页,按q退出,浏览体验和man手册一样。需要注意的是,Windows的cmd不支持grep,可以用php -i | findstr "Version"达到类似效果,或者借助PowerShell的Select-String来过滤。

另外还有一个更简洁的变体命令php --ini,它只输出配置文件的加载情况,包括php.ini的实际路径、扫描的扩展配置目录等。如果只是想确认php.ini到底有没有被加载、加载的是哪一个,用这个命令比翻php -i的输出省事得多。

二、直接调用phpinfo函数:php -r 的用法

如果想得到和网页版完全一致的带HTML标签的输出,或者只想执行特定的信息函数,可以用-r参数直接运行PHP代码。-r后面的内容会被当作PHP代码执行,不需要写<?php起始标签。标准写法如下:

php -r "echo phpinfo();"

这个命令在Linux和macOS终端下可以直接使用,但在Windows下有个著名的引号坑。cmd和PowerShell对双引号和单引号的处理规则不同,如果照搬上面的写法,可能会报语法错误或者引号被吃掉。Windows下推荐把外层用双引号、内层用单引号的顺序换过来,写成:

php -r "echo phpinfo();" // Linux/macOS 写法
php -r "echo PHP_VERSION;" // 输出版本号字符串
php -r "echo ini_get('max_execution_time');" // Windows 下内层用单引号更稳妥

除了phpinfo(),PHP还提供了几个轻量的辅助函数,配合-r使用非常方便。比如php -r "echo PHP_VERSION;"只输出版本号,php -m直接列出所有已加载的扩展名称,一行一个,比在phpinfo的长输出里找扩展列表干净利落。查看某个具体配置项的值则用php -r "echo ini_get('memory_limit');",输出结果一目了然。

三、CLI模式下查不到某些扩展是怎么回事

一个常见问题是:明明在网页phpinfo里能看到某个扩展,命令行下却找不到,反过来也有可能。这不是bug,而是因为CLI和Web环境加载的可能是不同的php.ini。执行php --ini和网页phpinfo中显示的Loaded Configuration File路径对比一下,经常会发现一个加载的是php-cli.ini,另一个加载的是Web服务器目录下的php.ini。

遇到这种情况,可以在执行命令时手动指定配置文件,确保与线上一致:

php -c /etc/php/8.1/fpm/php.ini -m
php -c "C:\php\php.ini" -m

还有一种可能是扩展模块本身只在fpm或Apache模块编译安装时启用,CLI环境下缺少对应的so或dll文件。这种差异在排查定时任务、队列消费者等CLI脚本的报错时尤其要留意,因为这类脚本走的就是命令行环境,不能拿网页phpinfo的结果当作判断依据。

最后提醒一点,phpinfo的输出包含服务器路径、环境变量等敏感信息,不要把完整输出随意贴到公开场合。临时排查用的phpinfo网页文件,看完记得及时删除;命令行方式则天然避免了在Web目录留文件的风险,这也是它在生产环境排查中更受青睐的原因之一。掌握php -iphp -mphp --iniphp -r这几个命令的组合,绝大多数PHP环境信息都能在几秒钟内拿到,比开浏览器写文件的传统流程高效得多。

phpinfo命令行PHP CLI修改时间:2026-09-14 21:40:40

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/20260914/56855.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。