Can';t使用exec()PHP传递多个参数

Can';t使用exec()PHP传递多个参数,php,exec,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); exec('cmd /c c:\wamp\www\Telnets

给定以下代码:

 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);
 exec('cmd /c c:\wamp\www\Telnetshutdown.py '.$router.' '.$interface);

还有更多这些的组合。。 不行!
如何传递多个参数?

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

这似乎也是基于post,php将传递给exec的参数传递给shell时,将使用
cmd/c“{{exec argument}}}”
框显

试试这个:

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

在每个参数周围加上双引号,但我想传递参数所包含的值。双引号将传递文本“$router”。是的,但您可以将这些双引号放在字符串中,同时仍然不让变量名出现在字符串中。它仍然会在最后一个字符串周围加上双引号我怎么能这样做?你能给我举个例子吗?什么叫“没用”?通过
exec
运行的最后一个字符串是什么?更新的答案显示了cmd的“不要删除我的引号”参数,也基于它,看起来你不必输入
cmd/c
我猜在windows上php输入cmd/c“{{你传递给exec的内容}”