0

我正在运行两个操作系统:mac os X 和 windows xp。

在 mac os X 上,我正在运行 MAMP,我使用解决方案 Batik 在我自己的服务器上导出我的图表(highchart)。一切都很好。

在 windows xp 上,我正在运行 Easyphp。不幸的是,我无法运行此命令:

shell_exec("java -jar ". BATIK_PATH ." $typeString -d $outfile $width temp/$tempName.svg");

在 php_ini 中禁用了安全模式

在我看来,是关于PHP下java路径的定义。我不知道如何解决它。有人可以在这个问题上帮助我吗?

谢谢

4

2 回答 2

1

我通过重新安装 jre 解决了部分问题!

我的新问题是我的代码没有生成 JPG。

SVG 文件生成良好,但之后 Batik jar 的 shell_exec 给了我这个答案:

About to transcode 2 SVG file(s)

Converting 0 to 07273dd0571b92c3ee6817638418f839.jpg\0.jpg ... ... error (SVGConverter.error.cannot.open.source)
Converting 07273dd0571b92c3ee6817638418f839.svg to 07273dd0571b92c3ee6817638418f839.jpg\07273dd0571b92c3ee6817638418f839.jpg ... ... success

我不明白它为什么要对 2 个文件进行转码。而且我不明白为什么他显然无法打开他刚刚创建的文件。

最后我有一个名为:“07273dd0571b92c3ee6817638418f839.jpg”的文件夹

在里面我找到一个名为:“07273dd0571b92c3ee6817638418f839.jpg”的jpg

奇怪的....

谢谢MH。

于 2013-05-03T14:48:38.980 回答
0

在高图表上的php代码中存在一个小问题。如果你在这条线上看到

// size
    $with ='';
    if ($_POST['width']) {
        $width = (int)$_POST['width'];
        if ($width) $width = "-w $width";
    }

如果您不发送邮件,则您有类似的东西

$output = shell_exec("java -jar ". BATIK_PATH ." $typeString -d $outfile $with temp/$tempName.svg");

$output = shell_exec("java -jar ". BATIK_PATH ." $typeString -d $outfile "SPACE" temp/$tempName.svg");

“SPACE”占据一个位置,脚本“认为”你有其他形象。

您可以在脚本上发送宽度大小或消除它,请看下面,或使用其他选项,请参见此处

$output = shell_exec("java -jar ". BATIK_PATH ." $typeString -d $outfile temp/$tempName.svg");
于 2013-12-03T17:07:22.267 回答