En règle générale, pour les arguments passés à un script de ligne de commande, vous utiliserez argv
variable globale ou getopt:
// bash command:
// php -e myscript.php hello
echo $argv[1]; // prints hello
// bash command:
// php -e myscript.php -f=world
$opts = getopt('f:');
echo $opts['f']; // prints world
$_GET se réfère à la méthode HTTP GET paramètres, qui ne sont pas disponibles en ligne de commande, car ils ont besoin d'un serveur web à remplir.
Si vous voulez vraiment vous renseigner $_GET de toute façon, vous pouvez faire ceci:
// bash command:
// export QUERY_STRING="var=value&arg=value" ; php -e myscript.php
parse_str($_SERVER['QUERY_STRING'], $_GET);
print_r($_GET);
/* outputs:
Array(
[var] => value
[arg] => value
)
*/
Vous pouvez également exécuter un script, remplir $_GET
à partir de la ligne de commande, sans avoir à modifier ledit script:
export QUERY_STRING="var=value&arg=value" ; \
php -e -r 'parse_str($_SERVER["QUERY_STRING"], $_GET); include "index.php";'
Notez que vous pouvez faire de même avec $_POST
et $_COOKIE
.