如何使用 php 命令行定义多个 ini 设置?

How to define multiple ini settings using php command line?

我正在尝试暂时为脚本启用 allow_url_fopenrename 函数。我可以只使用一个功能,但不能同时使用这两个功能。

像这样:

php -d allow_url_fopen=on rename=on <file>

我正在使用 PHP 5.6

更新

显然 rename() 在我的 php.ini 文件中的 disable_functions 中(而 allow_url_fopen 在该文件之外被关闭),所以我假设 -d 选项不会更改 disable_functions 指令的设置。

因此,原题依旧,新题:

是否可以使用命令行工具启用已禁用的功能?或者我是否必须重新定义整个 disable_functions 指令(如果可能)?

更新二

这适用于我的情况:

php -d disable_functions=fn1,fn2,etc -r 'ini_set("allow_url_fopen", "1");' <file> <args>

您不能使用 ini_set() 来更改 disable_functions 指令。如果 php.ini 文件中有另一个指令不能被 ini_set() 更改,那么我不知道如何解决它。我的问题已经解决了,虽然原问题还没有得到解答。

您只能为每个要定义的设置定义一个 -d OPTION 块。

你需要运行:

php -d allow_url_fopen=on -d rename=on <file>