使用exec()PHP无法传递多个参数

时间:2013-06-05 06:01:38

标签: php exec

给出以下代码:

 exec('cmd /c c:\wamp\www\Telnetshutdown.py '.$router);

路由器变量传递正常。 但, 给出以下代码:

 exec('cmd /c c:\wamp\www\Telnetshutdown.py '.$router.' '.$interface);

 exec('cmd /c c:\wamp\www\Telnetshutdown.py '.$router." ".$interface);

         $zz=$router.' '.$interface;
 exec('cmd /c c:\wamp\www\Telnetshutdown.py '.$zz);

以及那些的更多组合.. 不行! 我怎样才能传递多个参数?

1 个答案:

答案 0 :(得分:2)

尝试使用escapeshellarg确保您的参数被正确转义

它似乎也基于this帖子,当将它传递给shell时,php会将传递给exec的参数与cmd /c "{{exec argument}}"进行框架化。

试试这个:

exec('c:\wamp\www\Telnetshutdown.py '.escapeshellarg($router).' '.escapeshellarg($interface));