我的设置如下:Windows 7,启用了 Apache 和 PHP 的 XAMPP 我有一个 PHP 脚本,我在其中调用外部程序来运行转换。这个外部程序是一个EXE文件,需要3个属性:
- 源文件
- 目标文件
- 附加标志(转换类型等)
当我使用 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);
当我打印出 $output 时,数组结果是空的。当我在命令提示符中输入完全相同的命令时,代码就像一个魅力(没有语法错误)。我也使用绝对路径。