Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Variablen über die Befehlszeile an PHP-Skripte übergeben?

Wie kann ich Variablen über die Befehlszeile an PHP-Skripte übergeben?

Barbara Streisand
Barbara StreisandOriginal
2024-11-12 18:19:021055Durchsuche

How Can I Pass Variables to PHP Scripts from the Command Line?

Variablen über die Befehlszeile an PHP-Skripte übergeben

Beim Ausführen von PHP-Skripten über die Befehlszeile ist es notwendig, Variablen zu übergeben, um die Skripte zu steuern Verhalten. Der üblicherweise für Webseiten verwendete Ansatz myfile.php?type=daily funktioniert jedoch möglicherweise nicht.

Parameterübergabe über $argv

Um Variablen aus dem zu übergeben Verwenden Sie in der Befehlszeile das Array $argv. Wenn php myfile.php täglich ausgeführt wird, enthält $argv[1] den Wert „täglich“. Dies steht im Gegensatz zu Webseiten, bei denen Abfragezeichenfolgenparameter in $_GET gespeichert werden.

Alternativen für die Nutzung von Webseiten

Wenn das PHP-Skript auch als Web dient Seite gibt es zwei mögliche Lösungen:

  1. Shell-Skript und Wget: Erstellen Sie ein Shell-Skript, das ruft Wget auf, um die Seite mit dem erforderlichen Parameter abzurufen:
#!/bin/sh
wget http://location.to/myfile.php?type=daily

Führen Sie dieses Skript von cron aus, um die Variable zu übergeben.

  1. Erkennung in PHP:Überprüfen Sie innerhalb des PHP-Skripts, ob über die Befehlszeile oder das Web darauf zugegriffen wird. if (definiert('STDIN')) {
    $type = $argv[1];
    } else {
    $type = $_GET['type'];
    }

Einschränkungen

Beachten Sie, dass bei der Verwendung von $argv[1] davon ausgegangen wird, dass die Der Befehlszeilenaufruf stellt die erforderlichen Parameter bereit. Überprüfen Sie immer, ob $argv genügend Variablen enthält.

Das obige ist der detaillierte Inhalt vonWie kann ich Variablen über die Befehlszeile an PHP-Skripte übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn