Wenn PHP über die Shell als Skriptsprache benutzt wird, ist es oft nützlich, auf der Kommandozeile Parameter zu übergeben. In PHP stehen die Variablen $_SERVER["argc"] und $_SERVER["argv"] zur Verfügung.
- $_SERVER["argc"]
-
Anzahl der auf der Kommandozeile übergebenen Argumente.
- $_SERVER["argv"]
-
Array mit den übergebenen Argumenten und dem Dateinamen im ersten Element.
Wenn ein PHP-Skript über das Web aufgerufen wird, enthalten diese Variablen die über GET übergeben Argumente. Man kann dieses Verhalten in der php.ini-Datei abschalten (register_argv_argc).
Beispiel:
tobias@dev:~ > cat arg.php
#! /usr/bin/php -q
# Getestet mit Suse Linux 8.1 (register_globals = off)
$v) {
echo "_SERVER['argv'][$k] = $v\n";
}
tobias@dev:~ > ./arg.php foo bar baz
argc = 4
_SERVER['argv'][0] = /var/tmp/x.php
_SERVER['argv'][1] = foo
_SERVER['argv'][2] = bar
_SERVER['argv'][3] = baz






