Установите переменную $_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 Следуйте инструкциям в https://github.com/ersiner/osx-env-sync Приложите следующую строку к файлу ~/.bash_profile '(создайте его, если он не существует) export recipient="[email protected]" С Ubuntu GNU/Linux Приложите следующую строку к файлу /etc/environment '(создайте его, если он не существует, см. https://help.ubuntu.com/community/EnvironmentVariables) [email protected] Ответ 4 Как создать фиктивную страницу с именем dummy.php с этим содержимым: <?php $_SERVER['recipient'] = '[email protected]'; ?>
Ответ 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 Следуйте инструкциям в https://github.com/ersiner/osx-env-sync Приложите следующую строку к файлу ~/.bash_profile '(создайте его, если он не существует) export recipient="[email protected]" С Ubuntu GNU/Linux Приложите следующую строку к файлу /etc/environment '(создайте его, если он не существует, см. https://help.ubuntu.com/community/EnvironmentVariables) [email protected]
Ответ 4 Как создать фиктивную страницу с именем dummy.php с этим содержимым: <?php $_SERVER['recipient'] = '[email protected]'; ?>