Heim >Backend-Entwicklung >PHP-Tutorial >Wie übergebe ich Variablen an Befehlszeilen-PHP-Skripte?

Wie übergebe ich Variablen an Befehlszeilen-PHP-Skripte?

DDD
DDDOriginal
2024-11-13 15:36:03664Durchsuche

How to Pass Variables to Command-Line PHP Scripts?

Variablen an Befehlszeilen-PHP-Skripte übergeben

Beim Ausführen eines PHP-Skripts über die Befehlszeile mit crontab können beim Übergeben Probleme auftreten Variablen. Die Syntax, die Sie mit einer Abfragezeichenfolge (myfile.php?type=daily) versucht haben, wird in diesem Kontext nicht unterstützt.

Um dieses Problem zu beheben, übergeben Sie die Variable als Argument an die ausführbare PHP-Datei. Ersetzen Sie Ihren Befehl durch:

php myfile.php daily

Rufen Sie in Ihrem PHP-Skript die Variable aus dem $argv-Array ab:

$type = $argv[1]; // Assuming '$argv[0]' contains the script name

Alternative Ansätze:

Wenn das Skript auch als Webseite verwendet wird, haben Sie zwei Möglichkeiten:

  1. Verwenden Sie ein Shell-Skript mit Wget, um die Variable zu übergeben:
#!/bin/sh
wget http://location.to/myfile.php?type=daily
  1. Überprüfen Sie, ob das Skript über die Befehlszeile aufgerufen wird oder nicht innerhalb des PHP-Skripts:
if (defined('STDIN')) {
  $type = $argv[1];
} else {
  $type = $_GET['type'];
}

Denken Sie daran, sicherzustellen, dass das $argv-Array die erforderlichen Variablen enthält und Randfälle nach Bedarf behandelt.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Variablen an Befehlszeilen-PHP-Skripte?. 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