从命令行调用PHP时设置$ _SERVER变量?

Ian*_*ber 27 php email command-line-interface piping

是否可以通过命令行将$ _SERVER变量传递给PHP脚本?

具体来说,我试图手动设置$ _SERVER ['recipient'],这样我就可以在不设置邮件服务器的情况下测试电子邮件管道.

sbe*_*rry 38

在*nix上:

$ recipient="email@domain.com" php script.php

<?php

print_r($_SERVER);
Run Code Online (Sandbox Code Playgroud)

测试:

$ recipient="email@domain.com" php script.php | grep recipient

[recipient] => something@domain.com
Run Code Online (Sandbox Code Playgroud)

或者,您可以导出它或setenv(取决于您的操作系统),例如

$ export recipient="email@domain.com"
$ setenv recipient="email@domain.com"
Run Code Online (Sandbox Code Playgroud)

  • 是否有原因这不适用于 DOCUMENT_ROOT?有没有办法解决这个问题? (2认同)
  • @JohnWiseman我和你一样失望!:(参见https://bugs.php.net/bug.php?id=67808 (2认同)