2017-07-05 7 views
0

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

+0

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

Répondre

0

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.

+0

Ne fonctionne toujours pas. Par echo $ output Im obtenant un tableau vide –

+0

'echo' littéralement? parce que 'print_r()' 'var_export()', 'var_dump()' sont pour les tableaux, vous ne pouvez pas renvoyer un tableau. – ArtisticPhoenix

+0

désolé je voulais dire print_r() ofcours. que dois-je faire ?? –