我的设置如下:Windows 7,启用了Apache和PHP的XAMPP我有一个PHP脚本,我在其中调用外部程序来运行转换。该外部程序是一个EXE文件,这需要3个属性:PHP外部程序调用
- 源文件
- 目标文件
- 附加标志(转换类型等)
当我使用命令行内置于XAMPP中的工具来执行我的脚本,一切工作正常。但是当我在我的PHP脚本中使用exec()函数时,没有输出文件被创建。我很确定转换实际上正在发生(大约需要5秒,大约与运行PHP脚本的时间相同)。
我认为这是一个权限的事情,所以我已经将EXE文件移动到与我的PHP文件相同的文件夹中,并调整了整个文件夹的权限(我授予所有用户的所有权限)。我还禁用了Windows UAC,并试图将该命令放入BAT文件中。该文件只是没有创建。
任何帮助或提示将不胜感激!
我的PHP代码如下:
exec('c:\converter.exe c:\src.txt c:\dst.txt -f', $output);
print_r($output);
当我打印出$输出数组原来是空的。当我在命令提示符中输入完全相同的命令时,代码就像一个魅力一样工作(没有语法错误)。我也使用绝对路径。
也许这是有帮助http://stackoverflow.com/a/8311008/480807 –