1

给出以下代码:

 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);

以及这些的更多组合..不起作用!我怎样才能传递多个论点?

4

1 回答 1

2

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

似乎也基于这篇文章,当将参数传递给cmd /c "{{exec argument}}"shell 时,php 会将传递给 exec 的参数框起来。

尝试这个:

exec('c:\wamp\www\Telnetshutdown.py '.escapeshellarg($router).' '.escapeshellarg($interface));
于 2013-06-05T06:05:25.373 回答