2016-09-30 105 views
0

我的Windows服务器中有一个Fetch.exe,在运行Fetch.exe的命令提示符下返回控制台中的一些文本输出。通过PHP写入文件

我想包装Fetch.exe在PHP中的exec,并产生result.txt

exec("Fetch/Fetch.exe > C:/inetpub/testaddbbacom/test/result.txt"); 

试验表明,result.txt已经确实产生,但是,它是空的。

然后,我在同一文件夹创建了一个简单try.bat

enter image description here

类似地,会产生空白result.txt

相比之下,exec("echo 123 > C:/inetpub/testaddbbacom/test/result.txt")工作正常。

有谁知道错在哪里?

更新1:这里是文件夹Fetch的权限,用户拥有所有权限:

enter image description here

+0

“Fetch.exe”的输出可能会根据执行它的用户或执行PHP的用户没有权限执行它。 –

+0

请参阅我的更新...用户拥有所有权限... – SoftTimur

+0

是您的php脚本进入testaddbbacom目录吗? – jlgsoftware

回答

0

如果你的路径字符串去用双引号必须转义反斜杠,如果你不使用单引号。你可以重写exe​​c调用:exec('C:\ inetpu \ testaddbbacom \ Fetch \ Fetch.exe> C:/inetpub/testaddbbacom/test/result.txt')或exec('C:/ inetpu/testaddbbacom/Fetch/Fetch.exe> C:/inetpub/testaddbbacom/test/result.txt') - @jlgsoftware