Установите переменную $_SERVER при вызове PHP из командной строки?
Можно ли передать переменную $_SERVER в PHP script через командную строку?
В частности, я пытаюсь установить $_SERVER ['recipient'] вручную, чтобы я мог тестировать почтовые конвейеры без настройки почтового сервера.
Ответы
Ответ 1
Вкл. * nix:
$ recipient="[email protected]" PHP скрипт.php
<?php
print_r($_SERVER);
Тест:
$ recipient="[email protected]" PHP скрипт.php | grep recipient
[recipient] => [email protected]
Или вы можете экспортировать его или setenv (в зависимости от вашей ОС), например
$ export recipient="[email protected]"
$ setenv recipient="[email protected]"
Ответ 2
Ответ от @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 );
Ответ 3
Я лично использую следующее.
Пример: установите $_ SERVER ['получатель] в моей командной строке PHP.
С OS X
С Ubuntu GNU/Linux
Ответ 4
Как создать фиктивную страницу с именем dummy.php с этим содержимым:
<?php
$_SERVER['recipient'] = '[email protected]';
?>