我尝试使用以下命令在我的 Linux 服务器中设置导出服务器,以将图形下载为图像高图表 http://www.highcharts.com/docs/export-module/setting-up-the-server.
$command = "java -jar batik-rasterizer.jar -m image/png -d temp/1a6b5dd08ec607454b81f91097fb24a6.png temp/1a6b5dd08ec607454b81f91097fb24a6.svg 2>&1 ";
$output = shell_exec($command);
echo "Command: $command <br>";
echo "Output: $output";
它在我的本地 Windows 机器中完美地创建了一个图像,但是我将其上传到我的 Linux 服务器中,我收到错误。
About to transcode 1 SVG file(s) Converting 1a6b5dd08ec607454b81f91097fb24a6.svg to temp/1a6b5dd08ec607454b81f91097fb24a6.png ... (.:21519): Gtk-WARNING **: cannot open display:
为什么会出现这种情况?
我注意到创建的图像有 0 kb 无效图像
Note: 我也尝试过以下方法.
1)包含batik-rasterizer.jar的文件夹,该文件的所有者为root,权限设置为777。
2)我也尝试执行它/用户/bin/java , 哪个java代替java命令。
3)我还尝试使用 putty 使用终端以 root 身份执行此命令,Java 安装在我的服务器中。
使用以下命令执行 java-Djava.awt.headless=true
命令行选项:
$command = "java -Djava.awt.headless=true -jar batik-rasterizer.jar -m image/png -d temp/out.png temp/in.svg 2>&1 ";
Update
如果传递附加命令行选项仍然无法产生预期结果,请检查您的 Java 版本。将 JRE 更新到更新版本 (1.7) 也可能会解决该问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)