Ist es möglich, eine $ _SERVER-Variable über die Befehlszeile an ein PHP-Skript zu übergeben?
Insbesondere versuche ich, den $ _SERVER ['Empfänger'] manuell festzulegen, damit ich die E-Mail-Weiterleitung testen kann, ohne einen Mail-Server einzurichten.
Ein * nix:
$ recipient="[email protected]" php script.php
<?php
print_r($_SERVER);
Prüfung:
$ recipient="[email protected]" php script.php | grep recipient
[recipient] => [email protected]
Oder Sie können es exportieren oder setenv (abhängig von Ihrem Betriebssystem), wie
$ export recipient="[email protected]"
$ setenv recipient="[email protected]"
Ich persönlich benutze das Folgende.
Beispiel: setze $ _SERVER ['recipient] in meiner PHP Kommandozeile.
Mit OS X
Hänge die folgende Zeile an die Datei ' ~/.bash_profile ' an (erstelle sie, falls sie nicht existiert)
export recipient="[email protected]"
Mit Ubuntu GNU/Linux
Fügen Sie die folgende Zeile an die Datei '/etc/environment ' an (erstellen Sie sie, falls sie nicht vorhanden ist, siehe https://help.ubuntu.com/community/EnvironmentVariables ).
Die Antwort von @sberry ist richtig.
... aber weil ich auf diese Seite gekommen bin, um nach der Einstellung von Standardwerten für das $_SERVER
-Array zu suchen, wenn PHP über die Befehlszeile ausgeführt wird, ist hier meine eigene Antwort. Hoffe es könnte jemandem helfen.
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 );