Highchart / Easyphp / Батик
Я использую обе ОС: 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
На мой взгляд, речь идет об определении пути Java в PHP. Я не знаю, как это исправить. Может ли кто-нибудь помочь мне в этом вопросе?
Спасибо
2 ответа
Я решил часть своей проблемы с переустановкой JRE!
Моя новая проблема заключается в том, что мой код не генерирует JPG.
Файл SVG хорошо сгенерирован, но сразу после этого shell_exec из Batik jar дает мне такой ответ:
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"
и внутри я нахожу JPG с именем: "07273dd0571b92c3ee6817638418f839.jpg"
Странный....
Спасибо, МЗ.
В коде 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");
"ПРОБЕЛ" занимает позицию, а сценарий "думает", что у вас есть другое изображение.
Вы можете отправить размер по ширине или устранить его в сценарии, посмотреть ниже или использовать другие параметры, см. Здесь:
$output = shell_exec("java -jar ". BATIK_PATH ." $typeString -d $outfile temp/$tempName.svg");