从命令行调用 PHP 时设置 $_SERVER 变量?
2022-08-30 15:18:52
是否可以通过命令行将变量传递给 PHP 脚本?$_SERVER
具体来说,我正在尝试手动设置,以便我可以在不设置邮件服务器的情况下测试电子邮件管道。$_SERVER['recipient']
是否可以通过命令行将变量传递给 PHP 脚本?$_SERVER
具体来说,我正在尝试手动设置,以便我可以在不设置邮件服务器的情况下测试电子邮件管道。$_SERVER['recipient']
在 *nix:
$ recipient="email@example.com" php script.php
<?php
print_r($_SERVER);
测试:
$ recipient="email@example.com" php script.php | grep recipient
[recipient] => something@example.com
或者,您可以导出它或 setenv(取决于您的操作系统),例如
$ export recipient="email@example.com"
$ setenv recipient="email@example.com"
@sberry的答案是正确的。
...但是因为我来到这个页面寻找数组的默认值设置,所以从命令行运行PHP时,这是我自己的答案。希望它能帮助别人。$_SERVER
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 );