PHP命令在命令在bat文件中成功运行时给出错误

时间:2014-02-28 07:16:30

标签: php windows apache wampserver

我在Windows 7上使用PHP脚本运行本地WAMP,该脚本执行Windows命令,如下所示:

`exec('"%CD%\files_for_redistribution\ppt2html5.exe" /i:"%CD%\test.ppt" /o:"%CD%\output.html" /title:title /desc:description /author:author /keywords:keywords',$output,$error);`

从批处理文件运行时的命令可以很好地完成工作但是从PHP脚本运行时会出现错误:表示打开错误:PowerPoint无法打开文件。

该命令的目的是使用名为ppt2html5.exe的第三方软件将PowerPoint转换为HTML,其中test.ppt必须转换为output.html。

我发现很多博客都在讨论exec功能不能正常工作,但没有什么能帮我处理这个错误,因为它运行命令却无法打开文件。 如果有人可以帮助我,那就太棒了。

2 个答案:

答案 0 :(得分:0)

检查safe mode是否已启用,因为这会激活escapeshellcmd并且某些字符会被转义。

假设你传递给exec()的字符串,包括百分号,路由和参数是正确的,你的问题可能与文件的权限和执行apache + php的用户有关,请检查。

答案 1 :(得分:0)

通过在C:\ Windows \ System32 \ config \ systemprofile中添加名为Desktop的文件夹来解决。

来源:http://www.sitepoint.com/forums/showthread.php?956457-Windows-2008-PHP-new-COM%28powerpoint-application%29