Heim > Artikel > Backend-Entwicklung > Wie übergebe ich Variablen an ein PHP-Skript, das über die Befehlszeile ausgeführt wird?
Variablen über die Befehlszeile an PHP-Skripte übergeben
Beim Ausführen von PHP-Skripten über die Befehlszeile, beispielsweise über crontab, ist es nützlich, Folgendes zu tun Übergeben Sie Variablen zur Anpassung und Steuerung an das Skript. Allerdings funktioniert die herkömmliche Methode zum Anhängen von Abfrageparametern an den Skriptpfad, wie php myfile.php?type=daily, möglicherweise nicht.
Das $argv-Array
Für die Befehlszeilenausführung stellt PHP das Array $argv bereit, das an das Skript übergebene Argumente enthält. Das erste Element, $argv[0], ist der Dateiname des Skripts. Nachfolgende Elemente, beginnend mit $argv[1], enthalten die zusätzlichen Argumente.
Übergabe von Argumenten über $argv
Um in diesem Fall das Typargument zu übergeben, rufen Sie einfach auf das Skript wie folgt:
php myfile.php daily
Im PHP-Skript können Sie dann das Argument mit $argv[1] abrufen:
$type = $argv[1];
Web Page Consideration
Wenn Ihr PHP-Skript auch als Webseite verwendet wird, müssen Sie zwischen Befehlszeilen- und Webzugriff unterscheiden. Ein Ansatz besteht darin, zu überprüfen, ob STDIN definiert ist, was normalerweise auf die Befehlszeilenausführung hinweist:
if (defined('STDIN')) { $type = $argv[1]; } else { $type = $_GET['type']; }
Alternativ können Sie ein Shell-Skript und Wget verwenden, um über das Web von der Befehlszeile aus auf das Skript zuzugreifen:
#!/bin/sh wget http://location.to/myfile.php?type=daily
Wenn Sie die Verwendung von $argv verstehen und den Webzugriff in Betracht ziehen, können Sie Variablen effektiv an PHP-Skripte übergeben, die über die Befehlszeile ausgeführt werden.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Variablen an ein PHP-Skript, das über die Befehlszeile ausgeführt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!