Comment php peut obtenir variable à partir du script shell. J'ai: shell_exec('php /var/www/html/test/kobi.php $param1');
Et je veux recevoir $parm1 in kobi.php
J'ai essayé de le faire avec: $imsi=$argv[1];
mais cela ne fonctionne pas. quelqu'un peut-il expliquer ce qui ne va pas? Comment dois-je faire cela correctement?PHP obtient variable à partir du script shell
Répondre
Vous utilisez la mauvaise fonction essayer exec
à la place
http://php.net/manual/en/function.exec.php
exec (string $ command [, un tableau & $ output [, int & $ return_var]])
$param1 = escapeshellarg($param1);
exec('php /var/www/html/test/kobi.php $param1', $output);
Et utilisez-le aussi.
http://php.net/manual/en/function.escapeshellarg.php
Sinon quelqu'un prendre votre Maybee serveur ...
MISE À JOUR
'php /var/www/html/test/kobi.php $param1'
est une chaîne littérale, de sorte que votre entrée est $param1
littéralement, pas la valeur de il. Au fait. Vous devez utiliser des guillemets doubles "
pour l'interpolation de variable.
Ne fonctionne toujours pas. Par echo $ output Im obtenant un tableau vide –
'echo' littéralement? parce que 'print_r()' 'var_export()', 'var_dump()' sont pour les tableaux, vous ne pouvez pas renvoyer un tableau. – ArtisticPhoenix
désolé je voulais dire print_r() ofcours. que dois-je faire ?? –
il ne contient rien ...., car le script s'exécutant à l'intérieur de 'shell_exec' s'exécute dans un thread séparé, et' $ argv' est pour ce thread. J'utilise le terme thread vaguement. Instance de PHP est probablement plus "correcte" – ArtisticPhoenix