如何使用 php 命令行定义多个 ini 设置?
How to define multiple ini settings using php command line?
我正在尝试暂时为脚本启用 allow_url_fopen
和 rename
函数。我可以只使用一个功能,但不能同时使用这两个功能。
像这样:
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>
我正在尝试暂时为脚本启用 allow_url_fopen
和 rename
函数。我可以只使用一个功能,但不能同时使用这两个功能。
像这样:
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>