Mailinglisten-Archive |
Hallo Leute, Ich hab ein kleines Problem. Ich will den Gimp in der Kommandozeile für einige Grafikoperationen nutzen. Ich weiss das man sowas auch mit ImageMagick machen kann aber es geht hier um das CMS Typo3 und das nutzt bereits Image Magick und ich schreibe eine Extension die diese Art des image processing durch den Gimp ersetzt (Dieser hat einige Funktionalitäten die ImageMagick nicht hat) Das Problem ist folgendes. Wenn ich den Gimp von der Kommandozeile aus aufrufe natürlich als User des Webservers nach einem "su - www-data": time /usr/bin/gimp-2.0 --verbose -i -g /var/www/localhost/htdocs/kraftb/testing/typo3conf/ext/kb_gimpgfx/res/gimprc -b "(gimp-typo3-resize \"/var/www/localhost/htdocs/kraftb/testing/typo3/sysext/install/imgs/jesus2_transp.gif\" 0 \"/var/www/localhost/htdocs/kraftb/testing/typo3temp/temp/535cf1d2f24f81805b1c9475f1eac219.xcf\" 150 120)" "(gimp-quit 0)" ------------------snip---------------------- INIT: gimp_initialize INIT: gimp_real_initialize INIT: gimp_restore INIT: gimp_real_restore Starting extension: 'extension_script_fu' batch command: executed successfully. EXIT: gimp_exit EXIT: gimp_real_exit EXIT: batch_exit_after_callback real 0m2.763s user 0m2.001s sys 0m0.465s ------------------snip---------------------- man sieht das es 2.763 sekunden in realzeit dauert bis das skript fertig ist .... wenn ich nun folgendes php-script ausführe: ------------------------snip----------------------- $gimp_cmd = $this->gimpPath.((substr($this->gimpPath,-1, 1)==='/')?'':'/').$this->gimpExecutable.' --verbose -i -g '.$this->abs_gimprc.' -b "'.$gimp_str.'" "(gimp-quit 0)"'; echo "gimp_cmd: '".$gimp_cmd."'<br>\n"; $start = microtime(); $start = $this->getMicrotime($start); $res = exec($gimp_cmd, $out); $stop = microtime(); $stop = $this->getMicrotime($stop); $diff = $stop-$start; echo "Diff: $diff<br>\n"; print_r($out); ------------------------snip----------------------- bekomm ich folgenden output ... ---------------------------snip--------------------- gimp_cmd: '/usr/bin/gimp-2.0 --verbose -i -g /var/www/localhost/htdocs/kraftb/testing/typo3conf/ext/kb_gimpgfx/res/gimprc -b "(gimp-typo3-resize \"/var/www/localhost/htdocs/kraftb/testing/typo3/sysext/install/imgs/jesus2_transp.gif\" 0 \"/var/www/localhost/htdocs/kraftb/testing/typo3temp/temp/7d0e4bd02334d5678be2d96f3ae1d0ce.xcf\" 150 120)" "(gimp-quit 0)"'<br> Diff: 15.5468091965<br> Array ( [0] => INIT: gimp_load_config [1] => Parsing '/etc/gimp/2.0/gimprc' [2] => Parsing '/var/www/localhost/htdocs/kraftb/testing/typo3conf/ext/kb_gimpgfx/res/gimprc' [3] => INIT: gimp_initialize [4] => INIT: gimp_real_initialize [5] => INIT: gimp_restore [6] => INIT: gimp_real_restore [7] => Starting extension: 'extension_script_fu' [8] => batch command: executed successfully. [9] => EXIT: gimp_exit [10] => EXIT: gimp_real_exit [11] => EXIT: batch_exit_after_callback ) ---------------------------snip--------------------- also ein diff von 15.54 Sekunden ... das bedeudet das der gimp über den apache gestartet wesentlich länger läuft ... hat wer eine idee warum und wie ich ihn zu einer "normalen" laufzeit begewegen kann ? Ich hatte schon die vermutung das der gimp über den apache gestartet vielleicht alles plugins lädt ... aber das würde dann im output angezeigt werde ... wird es aber nicht ... also denk ich das ist es nicht (obwohl er ja vielleicht diese ausgaben auf stderr machen könnte ... dann seh ich sie so nicht denk ich (oder zeigt exec auch stderr an?)) greets, Bernhard
php::bar PHP Wiki - Listenarchive