Вопрос по email, command-line-interface, php, piping – Установить переменную $ _SERVER при вызове PHP из командной строки?
Можно ли передать переменную $ _SERVER в скрипт PHP через командную строку?
В частности, я пытаюсь установить $ _SERVER [& quot; получатель & quot;] вручную, чтобы я мог тестировать почтовые каналы без настройки почтового сервера.
The answer by @sberry is correct.
... но потому что я пришел на эту страницу в поисках настройкиdefault values для$_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 );
$ recipient="[email protected]" php script.php
<?php
print_r($_SERVER);
Тестовое задание:
$ recipient="[email protected]" php script.php | grep recipient
[recipient] => [email protected]
Или вы можете экспортировать его или setenv (в зависимости от вашей ОС), как
$ export recipient="[email protected]"
$ setenv recipient="[email protected]"
Пример: набор$_SERVER['recipient] в моей командной строке PHP.
With OS X
Follow the instructions in https://github.com/ersiner/osx-env-syncAppend the following line to the file '~/.bash_profile' (create it, if it does not exist)
export recipient="[email protected]"
With Ubuntu GNU/Linux
Append the following line to the file '/etc/environment' (create it, if it does not exist, see https://help.ubuntu.com/community/EnvironmentVariables)