我设法加载自定义 INI,但它仍然从默认位置加载其他 .ini 文件。
我创建了一个 fcgi 包装器,将 ini 值作为参数传递。这样就成功了。现在只需要从与我的自定义 ini 相同的目录中加载这些其他 ini。
问题是其他 .ini 文件正在覆盖我自定义 php.ini 中的设置 =/
我现在意识到问题是 php.fcgi 是用自定义路径参数编译的。所以这是个问题。我可能不得不使用不同的位置或根本不使用任何位置来重新编译它。我讨厌为每个域编译一个 fcgi =/
答案1
看http://bugs.php.net/bug.php?id=45114
假设你有一个 php5.fcgi 和一个要加载的 /home/domain/fcgi-bin/php.ini
在你的 php5.fcgi 中将 exec 行更改为如下内容
exec /usr/bin/php-cgi -n -c /home/domain/fcgi-bin/php.ini
(您可能需要根据您的发行版更改 php-cgi 可执行文件路径。此示例适用于 debian)
-n 禁用所有 php.ini 文件,这样就不会加载其他 php 文件,而 -c 设置要加载的 php 文件