首页 > 解决方案 > 如何更改其他 php.ini 文件的路径

问题描述

如果我运行php --ini,则会收到以下警告。

Cannot load Xdebug - it was already loaded
PHP Warning:  Module 'memcached' already loaded in Unknown on line 0
....
Configuration File (php.ini) Path: /opt/Qapache/etc
Loaded Configuration File:         /opt/Qapache/etc/php.ini
Scan for additional .ini files in: /opt/Qapache/etc
Additional .ini files parsed:      /opt/Qapache/etc/php.ini

是的,我运行的是 Qnap NAS。如果我像这里一样注释掉 php.ini 中的模块,它们将不再被加载。

所以我的想法是php.ini文件被“扫描其他.ini文件:”的路径加载了两次。

我知道我可以使用以下命令覆盖 php 执行, php -c /PATH/TO/php.ini -n所以它看起来像这样。

Configuration File (php.ini) Path: /opt/Qapache/etc
Loaded Configuration File:         /PATH/TO/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

这有效,没有模块已经加载。

但这不是持久的,我不想每次都使用它的选项。那么,我如何改变Scan for additional .ini files in:一般的路径?

提前致谢。

标签: phpcommand-line-interface

解决方案


该目录是在使用自定义标志从源代码编译 PHP 时定义的--with-config-file-scan-dirhttps ://www.php.net/manual/en/configure.about.php#configure.options.php

您可以在运行时通过设置PHP_INI_SCAN_DIR文档中定义的 ENV var 来更改它: https ://www.php.net/manual/en/configuration.file.php#configuration.file.scan


推荐阅读