如何在 PHP 中覆盖 register_argc_argv?
Posted
技术标签:
【中文标题】如何在 PHP 中覆盖 register_argc_argv?【英文标题】:How to override register_argc_argv in PHP? 【发布时间】:2012-07-12 16:23:19 【问题描述】:我正在使用共享主机 (fasthostingdirect),出于某种原因,他们默认关闭了此标志。这意味着我无法访问 php 命令行参数...除非我在 php.exe
之后使用 -n
(= --no-php-info
) 标志。
在我的 php 文件中尝试过ini_set('register_argc_argv', 1)
,但没有效果。我猜这是由于托管服务提供商的限制性质,但是他们并没有停止 -n
选项 - 虽然不确定使用它的其他含义。谁有更好的建议?
【问题讨论】:
只是移动主机。尝试覆盖他们的设置是开始的好方法。 【参考方案1】:无需创建全新的ini文件,只需使用-d
标志
php -d register_argc_argv=1 myscript.php
【讨论】:
哇这成功了!!我试图从 crontab 运行一个 php 文件,但无法获取 url 参数,但这有效!非常感谢。【参考方案2】:ini_set('register_argc_argv', 1)
不起作用,因为在执行代码时,它们已经注册(或未注册)。
看来你可以直接运行php
,所以复制你自己的php.ini
文件并传递它:
php -c yourphp.ini
【讨论】:
以上是关于如何在 PHP 中覆盖 register_argc_argv?的主要内容,如果未能解决你的问题,请参考以下文章