web-dev-qa-db-fra.com

Définir la variable $ _SERVER lors de l'appel PHP depuis la ligne de commande?

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.

23

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]"
36
sberry

Personnellement, j'utilise ce qui suit.

Exemple: set $ _SERVER ['destinataire] dans ma PHP ligne de commande.

Sous OS X

Avec Ubuntu GNU/Linux

0
cgaldiolo

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 );
0
tivnet