【发布时间】:2014-02-28 07:16:29
【问题描述】:
我正在我的 Windows 7 上运行一个本地 WAMP,其中包含一个执行如下 windows 命令的 PHP 脚本:
`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 函数无法正常工作,但没有什么能真正帮助我处理这个错误,因为它运行命令但无法打开文件。 如果有人可以帮助我,那就太好了。
【问题讨论】:
-
当我看到人们使用 exec 命令时,我感到脊背发凉 :) - 这是一个旁注,但你应该知道 exec 命令是一个危险的命令,如果被利用可以解决一个安全问题的大漏洞。回到问题。从 PHP 运行时,您确定路径正确吗?
-
路径正确,因为它在作为批处理文件运行时完成了这项工作。用户不会参与该过程,它在本地 Windows 机器上运行,因此不会有任何安全问题。
标签: php windows apache wampserver