English 中文(简体)
从命令行调用 PHP 时设定$_SERVER 变量吗?
原标题:Set $_SERVER variable when calling PHP from command line?

能否通过命令行将 $_SERVER 变量通过命令行传送到 PHP 脚本?

具体地说,我试图手工设置 $_SERVER[收件人] ,这样我就可以测试电子邮件管道,而不必设置邮件服务器。

问题回答

在 *nix 上 :

$ recipient="[email protected]" php script.php

<?php

print_r($_SERVER);

测试 :

$ recipient="[email protected]" php script.php | grep recipient

[recipient] => [email protected]

或者,你可以导出它,或者您可以导出它,或者您可以导出它,或者您可以导出它,或者您可以导出它,或者您可以导出它,或者您可以导出 setenv(取决于您的 OS ),比如

$ export recipient="[email protected]"
$ setenv recipient="[email protected]"

<%sberry的回答正确 。

...但因为我来到此页面, 寻找设置 < code>$_SERVER 阵列的 < 坚固 > 默认值 , 在从命令行运行 PHP 时, 这是我自己的答案 。 希望它能帮助某人 。

empty( $_SERVER[ HTTP_HOST ] ) && $_SERVER[ HTTP_HOST ] =  localhost ;
empty( $_SERVER[ REQUEST_URI ] ) && $_SERVER[ REQUEST_URI ] =  / ;
empty( $_SERVER[ DOCUMENT_ROOT ] ) && $_SERVER[ DOCUMENT_ROOT ] = __DIR__;
print_r( $_SERVER );

我个人使用以下手段。

示例:在我的 PHP 命令行中设置 < 坚固 > $_SERVER[收件人]

< 强 > 与 OS X < / 强 >

与 Ubuntu GNU/Linux < /强 > 一起 < 强 >