Est-il possible de passer une variable $ _SERVER à un script PHP via la ligne de commande?
Plus précisément, j'essaie de définir manuellement $ _SERVER ['destinataire'] afin de pouvoir tester la tuyauterie des e-mails sans configurer de serveur de messagerie.
Sur * nix:
$ recipient="[email protected]" php script.php
<?php
print_r($_SERVER);
Tester:
$ recipient="[email protected]" php script.php | grep recipient
[recipient] => [email protected]
Ou, vous pouvez l'exporter ou setenv (selon votre système d'exploitation), comme
$ export recipient="[email protected]"
$ setenv recipient="[email protected]"
Personnellement, j'utilise ce qui suit.
Exemple: set $ _SERVER ['destinataire] dans ma PHP ligne de commande.
Sous OS X
Ajouter la ligne suivante au fichier ' ~/.bash_profile ' (créez-le s'il n'existe pas)
export recipient="[email protected]"
Avec Ubuntu GNU/Linux
Ajoutez la ligne suivante au fichier '/etc/environment ' (créez-la, si elle n'existe pas, consultez https://help.ubuntu.com/community/EnvironmentVariables )
La réponse de @sberry est correcte.
... mais parce que je suis venu sur cette page à la recherche de la configuration des valeurs par défaut pour le tableau $_SERVER
, lors de l'exécution de PHP à partir de la ligne de commande, voici ma propre réponse. J'espère que ça pourra aider quelqu'un.
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 );