PHP exec cmd不工作在我的情况下


PHP exec cmd doesn't work in my case

我一直在寻找大约2天,找不到任何关于我的问题,我试图运行一个简单的cmd代码,如果我直接从cmd控制台运行它,它可以正常工作。但是当我从PHP中运行它时,什么也没有发生,我相信这是某种权限问题,有什么想法吗?

这是我要运行的代码,它执行html5point_converter。exe将我的ppt文件转换为html

exec("C:''WINDOWS''system32''cmd.exe /c C:''inetpub''wwwroot''HTML5PointSDK''html5point_converter.exe '"C:''inetpub''wwwroot''HTML5PointSDK''arquivos''upload1''teste1.ppt'"");

我尝试执行以下代码,以便我可以测试cmd是否在php内工作,并且它工作正常:

exec("C:''WINDOWS''system32''cmd.exe /c dir", $output);

我正在运行windows server 2008 R2, IIS 7和PHP 5.5,并安装了Web platform Installer 5.

为了测试目的,我在

中设置了安全权限为"完全控制每个人":
Folder: C:'Program Files (x86)'PHP
Folder: C:'inetpub'wwwroot'HTML5PointSDK
File: C:'WINDOWS'system32'cmd.exe
File: C:'inetpub'wwwroot'HTML5PointSDK'html5point_converter.exe

提前感谢,你的,•迪奥戈Araujo

编辑1我还测试了:

exec("C:''inetpub''wwwroot''HTML5PointSDK''html5point_converter.exe '"C:''inetpub''wwwroot''HTML5PointSDK''arquivos''upload1''teste1.ppt'"");
exec("C:''WINDOWS''system32''cmd.exe /c START C:''inetpub''wwwroot''HTML5PointSDK''html5point_converter.exe '"C:''inetpub''wwwroot''HTML5PointSDK''arquivos''upload1''teste1.ppt'"");

如高亮笔所示,您的代码中有语法错误。您需要转义字符串中的引号:

exec("C:'WINDOWS'system32'cmd.exe /c C:'inetpub'wwwroot'HTML5PointSDK'html5point_converter.exe '"C:'inetpub'wwwroot'HTML5PointSDK'arquivos'upload1'teste1.ppt'", $output);