给出以下代码:
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);
以及那些的更多组合.. 不行! 我怎样才能传递多个参数?
答案 0 :(得分:2)
尝试使用escapeshellarg确保您的参数被正确转义
它似乎也基于this帖子,当将它传递给shell时,php会将传递给exec的参数与cmd /c "{{exec argument}}"
进行框架化。
试试这个:
exec('c:\wamp\www\Telnetshutdown.py '.escapeshellarg($router).' '.escapeshellarg($interface));