0

OS : mac os X と windows xp の両方を実行しています。

Mac OS X では、MAMP を実行しており、Batik ソリューションを使用して自分のサーバーにグラフ (ハイチャート) をエクスポートしました。すべてがうまくいっています。

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";
    }

as postで送信しない場合は、次のようなものがあります

$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 に答える