it-swarm.com.de

Setzen Sie beim Aufruf die Variable $ _SERVER PHP von der Kommandozeile?

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.

23

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

Ich persönlich benutze das Folgende.

Beispiel: setze $ _SERVER ['recipient] in meiner PHP Kommandozeile.

Mit OS X

Mit Ubuntu GNU/Linux

0
cgaldiolo

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