如何查看CentOS PHP配置信息
在日常运维和开发中,查清PHP的配置几乎是一项基本功。无论你是想确认某个扩展是否加载,还是想定位php.ini到底躺在哪个目录,以下这几种方法基本能覆盖所有场景。先放一张图,后面挨个拆解。

1. 使用phpinfo()函数生成Web配置页面(直观查看Web环境配置)
phpinfo()是PHP内置的利器,调用后能生成一张完整的HTML页面,上面列着PHP版本、加载的模块、所有配置参数以及服务器环境信息。这对于快速诊断Web环境下的配置问题非常实用。
- 操作起来很简单:在Web服务器的文档根目录(比如Apache默认的
/var/www/html)下新建一个文件,命名为info.php,在文件里写入。保存后,通过浏览器访问http://服务器IP/info.php(例如http://192.168.1.100/info.php),就能看到完整的配置信息了。 - 但有一点必须提醒:生产环境千万要记得用完就删掉这个文件,否则敏感信息暴露在外,风险不小。
2. 使用php -i命令查看CLI环境配置(命令行快速诊断)
如果你习惯在终端里干活,php -i命令是CLI环境下的“神器”。它会输出PHP命令行解释器的全部配置,包括版本、扩展、环境变量、ini指令值等,适合后台调试或者在脚本中快速获取配置。
- 基本用法:在终端输入
php -i,回车后就能看到一长串配置详情。 - 如果只想看某一项,比如
memory_limit,可以结合grep过滤:php -i | grep "memory_limit",这样只显示包含该关键词的行。 - 这里有个容易踩的坑:CLI环境的配置有可能和Web环境(Apache/Nginx)不一样。所以务必通过输出中的
Loaded Configuration File确认当前用的是哪个php.ini。
3. 查找php.ini配置文件路径(确认配置来源)
修改PHP配置时,首先得找到php.ini的位置。常用方法有三个:
- 终端输入
php --ini,输出中的Loaded Configuration File就是当前生效的php.ini路径(比如/etc/php.ini或/etc/php/8.1/cli/php.ini)。 - 通过
phpinfo()页面也能看到“Loaded Configuration File”这一项,直接告诉你Web环境用的哪个配置文件。 - 如果上面两种方法都不奏效,可以用
find命令全盘搜索:sudo find / -name php.ini(需要root权限)。
4. 使用ini_get()函数获取特定配置值(脚本中动态读取)
有时候需要在PHP脚本里动态获取某个配置项的值,比如根据upload_max_filesize来调整上传逻辑。这时用ini_get()函数最直接。
- 示例代码:
- 适用场景:当程序需要根据配置动态调整行为时(比如文件上传大小校验、错误处理逻辑),这个函数非常顺手。
注意事项
- CLI与Web环境差异:CLI和Web环境(Apache/Nginx)可能加载不同的
php.ini,所以需要分别查看——CLI用php -i,Web用phpinfo()。 - 配置覆盖问题:
php.ini中的配置有可能被.htaccess(Apache)或ini_set()函数覆盖,排查时别忘了检查是否有额外配置在起作用。 - 修改配置后生效:改完
php.ini,一定要重启Web服务(如sudo systemctl restart httpd)或PHP-FPM服务(如sudo systemctl restart php-fpm),否则配置不会生效。
通过以上方法,基本可以全面掌握CentOS系统中PHP的配置信息,满足不同场景下的查询需求。