我正在尝试做

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')

最佳答案

您的计算机是否关闭了UAC? (Windows 7或Vista,在没有UAC权限的情况下访问C:会出错,为方便起见将其关闭),

其次,exec需要一个字符串输入,

第三,\需要像菲尔所说的那样逃脱

exec('java -jar "C:/batik/batik-rasterizer.jar" -m C:/pathto/image/png -d
"C:/pathtoimg/temp/2fa8af078803491746235057c546c1b6.png" -w 800
"C:/pathtoimg/temp/2fa8af078803491746235057c546c1b6.svg"');


更新的评论

使用CLI检查您是否允许使用exec / system / backticks


创建一个带有<?php exec("echo hello"); ?>的php文件,将其保存
然后启动CMD,
打开一个新窗口(打开我的/计算机)并浏览到您的php.exe应用程序
复制找到它的文件夹的地址
在cmd中键入“ cd”,不带引号,然后右键单击并单击pase,然后按Enter
键入“ php”(再次不带引号)将php文件保存到cmd框中并拖放
然后按Enter键,然后在cmd框中查看是否打招呼


如果这不起作用,请检查java是否在没有exe路径的情况下工作,在cmd窗口中键入java --help并查看其是否有效

10-02 11:10
查看更多