php --ini 显示的 Loaded Configuration File 是实际生效的主配置文件路径,若为 (none) 则使用默认值;Web 环境需以 phpinfo() 中“Loaded Configuration File”为准,因 CLI 与 Web SAPI 加载不同 php.ini。

php --ini 查看加载的配置文件路径
PHP 启动时会按固定顺序查找并加载 php.ini,但具体用的是哪个,得靠命令行确认。直接运行:
php --ini输出类似:
Configuration File (php.ini) Path: /usr/local/etc/php/8.2
Loaded Configuration File: /usr/local/etc/php/8.2/php.ini
Scan for additional .ini files in: /usr/local/etc/php/8.2/conf.d
Additional .ini files parsed: /usr/local/etc/php/8.2/conf.d/ext-opcache.ini, ...
Loaded Configuration File 这一行就是你真正生效的主配置文件路径。如果显示 (none),说明 PHP 没有加载任何 php.ini,所有配置走默认值。
phpinfo() 中定位 Loaded Configuration File
在 Web 环境中(比如 Apache 或 Nginx + PHP-FPM),php --ini 可能反映 CLI 的配置,而非 Web 服务所用的。这时必须用 phpinfo():
为什么 CLI 和 Web 的 LoadedConfigFile 常不一致
根本原因是 PHP 有两个独立的 SAPI(Server API):CLI 和 web SAPI(如 fpm-fcgi 或 apache2handler),它们各自读取不同的 php.ini 位置:
基于ThinkPhp6+ swoole4+uniapp 开发的一套CRMEB新零售多商户商城系统。如果不会搭建请到 查看搭建说明系统环境推荐 使用 宝塔配置环境centos PHP7.3 mysql5.6新增功能: 01·新增支持销售虚拟产品自动发货 02.支持销售链接与卡密可导入导出 03.自定义后台路径对后台进行保护 04.新增支持商家缴纳保证金功能 05·违法或侵权商品一键举报功能 06·仲
- CLI 通常查
/etc/php/*/cli/php.ini或/usr/local/lib/php.ini - FPM 默认查
/etc/php/*/fpm/php.ini - Apache 模块可能查
/etc/php/*/apache2/php.ini
php --ini 的结果适用于网页请求。调试 Web 问题时,必须以 phpinfo() 显示的 Loaded Configuration File 为准。
常见误判和排查建议
遇到修改 php.ini 不生效,先排除这些典型干扰:
- 改了错的文件:比如改了 CLI 的
php.ini,但服务跑的是 FPM - 被
ini_set()覆盖:某些配置项(如memory_limit)可在运行时被代码覆盖,phpinfo()会显示「Local Value」和「Master Value」,以 Local 为准 - 扩展单独的
.ini文件影响:例如opcache.so的配置写在conf.d/opcache.ini里,它不改变Loaded Configuration File,但会影响最终行为 - 容器或宿主机路径映射导致路径“存在但不可见”:Docker 中挂载的
php.ini路径在容器内正确,但在宿主机上编辑后未同步或权限不对
phpinfo() 页面截图比对;CLI 场景下,加 -c 显式指定配置路径测试,例如:php -c /my/custom/php.ini -m | grep opcache
立即学习“PHP免费学习笔记(深入)”;










