【发布时间】:2011-05-27 15:51:56
【问题描述】:
我正在努力做
exec(java -jar "C:\batik\batik-rasterizer.jar" -m image/png -d
"C:/pathtoimg/temp/2fa8af078803491746235057c546c1b6.png" -w 800
"C:/pathtoimg/temp/2fa8af078803491746235057c546c1b6.svg");
它没有给我任何结果,任何人都可以建议我做错了什么。
机器是windows 2008 R2企业版 iis 7 用fastcgi
exec('java -version')
【问题讨论】:
-
Java 可执行文件是否位于您的路径中?运行您的脚本的用户帐户是否具有对 java 目录的访问权限以及对 java.exe 的执行权限?
-
@Marc,java perms 不需要执行权限作为其系统内核,因此它应该具有 UAC 以外的访问权限以进行异地访问,并且 java 应将其自身添加到运行路径列表中没有完整路径的 CMD 中的 E.G 回显可以从路径调用,但它保存在 %SysDrive%/windows/system32/
-
@Barker:是的,但是默认情况下 IIS 用户的权限有限,并且必须明确授予对大多数所有内容的 exec 权限。同样,这不是 OP 正在执行的系统内核调用。他在 PHP 中使用 exec 调用命令行 .exe。
-
@Marc(IIS 信息是新的),是的,如果使用 IIS,您的权利。 @sushil 找到 java.exe 应用程序,右键单击它,然后单击安全/权限选项卡,将 IIS 用户添加到应用程序并将其执行设置为允许,然后您可能需要在 IIS 中做一些事情,但 marc 似乎知道更多( iis和php不是最好的)