我试图让PHP调用一个批处理文件,它将采用RTF文件并使用OpenOffice宏将其转换为PDF格式。我已经在命令行上测试了批处理文件,它工作正常,但我没有任何运气调用并使用PHP中的同一批处理文件。使用PHP exec命令执行批处理文件的问题
我的机器操作系统是XP专业SP 3.我运行IIS 6和PHP版本5.2.9。 我已授予c:\ windows \ system32 \ cmd.exe上的Internet用户执行权限。 我指定了正在执行的批处理文件的完整路径以及要转换的RTF文件的完整路径。
的PHP是这样的,其中的$ arg是RTF转换:
$arg = "C:\\web_root\\whatever\\tempOutput.rtf";
$command = "c:\\windows\\system32\\cmd.exe /c c:\\web_root\\whatever\\convert.bat $arg";
然后一个try-catch里面我叫exec命令:
exec("$command 2>&1 && exit", $ret, $err);
我赞同后的结果渔获:
echo "ret: ";
print_r ($ret);
print "<br>";
echo "err is ";
echo $err;
print "<br>";
echo "DONE!";
这是我所看到的:
ret: Array ()
err is 0
DONE!
RTF文件没有被转换,我没有看到错误。关于我可以尝试下一步的任何想法?谢谢!!!
你能列出你的批处理文件吗? – cdonner 2009-06-02 17:28:04