Heim  >  Artikel  >  Backend-Entwicklung  >  Wie übergebe ich Variablen an ein PHP-Skript, das über die Befehlszeile ausgeführt wird?

Wie übergebe ich Variablen an ein PHP-Skript, das über die Befehlszeile ausgeführt wird?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-11 08:41:02498Durchsuche

How do I pass variables to a PHP script executed from the command line?

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!

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