我正在尝试做
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
并查看其是否有效