是否有可能通过命令行传递一个$ _ SERVER变量PHP脚本?
具体来说,我正在尝试设置$ _ SERVER [“收件人”]手工,所以我可以测试电子邮件管道没有建立邮件服务器。
是否有可能通过命令行传递一个$ _ SERVER变量PHP脚本?
具体来说,我正在尝试设置$ _ SERVER [“收件人”]手工,所以我可以测试电子邮件管道没有建立邮件服务器。
在* nix:
$ recipient="email@domain.com" php script.php
<?php
print_r($_SERVER);
测试:
$ recipient="email@domain.com" php script.php | grep recipient
[recipient] => something@domain.com
或者,你可以将其导出或SETENV(视操作系统而定),如
$ export recipient="email@domain.com"
$ setenv recipient="email@domain.com"
通过@sberry的答案是正确的。
......但因为我来到这个页面找的设置默认值 $_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
追加下面一行到文件“〜/ .bash_profile中 ”(创建它,如果它不存在)
export recipient="something@example.com"
与Ubuntu的GNU / Linux
追加下面一行到文件“ 的/ etc /环境 ”(创建它,如果它不存在,请参阅https://help.ubuntu.com/community/EnvironmentVariables )
recipient=something@example.com
如何建立所谓dummy.php与此内容的虚拟页面:
<?php
$_SERVER['recipient'] = 'me@gmail.com';
?>