Comment passer des paramètres à partir de bash au script php?
J'ai fait un script bash qui exécuter un script php. Il fonctionne très bien sans paramètres, mais quand j'ai ajouter des paramètres (id et url), il y a quelques erreurs:
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf .d/mcrypt.ini on line 1 in Unknown on line 0
Could not open input file: /var/www/dev/dbinsert/script/automatisation.php? id=1
- Je exécuter un script php à partir de la bash comme ceci:
php /var/www/dev/dbinsert/script/automatisation.php?id=19&url=http://bkjbezjnkelnkz.com
Vous devez vous connecter pour publier un commentaire.
L'appeler comme:
Également, de modifier votre script PHP pour utiliser parse_str():
Si l'indice
$_SERVER['REMOTE_ADDR']
n'est pas définie.Plus avancés de manipulation peuvent avoir besoin de getopt(), mais parse_str() est un moyen rapide n'dirty façon de le faire fonctionner.
$argv
tableau. Aussi, le fil de la nécromancie qui est mauvais.--
. Lorsque j'utilise$argv[1]
, il se contente de lire le--
.Vous ne pouvez pas passer OBTENIR les paramètres de requête pour le PHP interface de ligne de commande. Passer les arguments standard arguments de ligne de commande et l'utilisation de la
$argc
et$argv
globals de les lire, ou (si vous devez utiliser GET/POST paramètres), appeler le script grâce à curl/wget et de passer les paramètres de cette façon – en supposant que vous avez le script accessible par l'intermédiaire d'un serveur web local.C'est comment vous pouvez passer des arguments à être lu par
$argc
et$argv
(le -- indique que tous les arguments doivent aller pour le script et non à l'interprète PHP binaire):php myfile.php -- argument1 argument2
- Option 1: php-cgi --
Utiliser "php-cgi' au lieu de 'php' à l'exécution de votre script. C'est la façon la plus simple que vous n'aurez pas besoin de spécialement modifier votre code php pour travailler avec elle:
- Option 2: si vous avez un serveur web --
Si le fichier php sur un serveur web que vous pouvez utiliser 'wget' sur la ligne de commande:
OU:
-- Accéder à des variables en php --
Dans les options 1 & 2, vous accéder à ces paramètres, comme ceci: