Hallo zusammen,
Ich habe das dummy-package von Typo3 3.6.2 soweit erflogreich auf einem Redhat 9 System installiert.
Das Einzige, was nicht funktioniert, ist das Lesen von PDF und AI über ImageMagick 4.2.9 (static). Alle anderen Grafikformate können gelesen und manipuliert werden.
Ich habe ghostscript 8.1.4 kompiliert und installiert. Das Programm läuft auf der Kommandozeile, doch im Install-Tool beim Image Reading-Test bekomme ich kein Ergebnis bei PDF und AI.
Das http-errorlog gibt die Meldung:
sh: line1: gs: command not found
identify: Portable Document Delegation failed
Das sieht zunächst nach einer nicht funktionierenden gs-Installation bzw. einem fehlenden oder falschen Pfad zum Kommando "gs" aus. Wie gesagt, kann ich gs aber auf der Kommandozeile ausführen und auch der fehlgeschlagene Befehl, der im Install-Tool angezeigt wird:
/var/www/empty/imagemagick-4.2.9/bin/identify /var/www/web1/html/test/typo3/ext/install/imgs/pdf_from_imagemagick.pdf
funktioniert in der shell.
Wieso könnte der Aufruf von gs über die delegates.mgk fehlschlagen? Ich habe in der delegates auch schon mal die Pfade zu gs absolut gesetzt. Es kommt aber die gleiche Fehlermeldung.
Hat das schon mal jemand gehabt?
Gruß,
Manu
Hmm, müsste eigentlich funktionieren spätestens wenn Du den Pfad absolut einträgst.
Evtl. hast Du ihn am falschen Ort eingetragen?
Wo ist denn Dein gs? Wahrscheinlich nicht im $PATH des Webservers?
Hallo Chip,
danke für die Antwort. Es klappt leider noch nicht. Ich habe gs in $PATH manuell hinzugefügt.
Wenn ich allerdings ein php-Script im Webbrowser ausführe, das den $PATH anzeigt, so steht dort NICHT gs drin. Lasse ich mir als root den Inhalt von $PATH anzeigen, sehe ich den Pfad zu gs.
Es gibt ja für jeden user ein eigenes $PATH. Aber wo muß ich $PATH erweitern, damit php-Scripte aus Apache diese Variable beachten?
PDF und AI werden von IM 4.2.9 nicht unterstützt,
siehe Jochen Weiland : http://typo3.jweiland.net/step2+M54a708de802.html
viele Grüße
jenses
Blödsinn! PDF ging bei mir 100%ig, bei AI bin ich mir zwar nicht mehr ganz sicher.
Wichtig ist bloss, dass Ghostscript installiert ist.
@Manu: So wie das klingt hast Du wirklich "/usr/bin/gs" im Pfad eingetragen, was natürlich falsch ist. Der $PATH enthält nur Verzeichnisse, in denen er suchen muss.
Wenn im $PATH also "/usr/bin:/usr/X11R6/bin" drinsteht, dann sucht er das Programm, das Du mit "gs" aufrufst, zuerst im Verzeichnis "/usr/bin" und dann in "/usr/X11R6/bin".
Du kannst den $PATH Deines Webservers übrigens einfach mit phpinfo() überprüfen: Apache Environment => PATH.
Gruss, michael
Ach übrigens: Das Paket "imagemagick-4.2.9_i386-static-1.tar.gz", auf das Jochen Weiland verweist, ist nicht mehr ganz aktuell.
Auf http://typo3.sunsite.dk/software/linux/ gibt es Version 3 von diesem Paket, der einen Wrapper enthält, um ImageMagick aufzurufen. Siehe Changelog.txt.
Gruss
Hallo,
also erstmal vielen Dank für Eure Posts.
@Chip:
Bei mir liegt gs (also die executable) in "/usr/local/bin".
Diesen Pfad habe ich global für alle user in /etc/profiles gesetzt. Der Aufruf klappt wie gesagt aus der shell heraus.
Wenn ich mir aus einem php-Script den $PATH anzeigen lasse, erscheint dieses Verzeichnis jedoch nicht. D. h., daß php-Scripte diesen Pfad nicht kennen und daher auch nichts an gs übergeben können.
Nun habe ich alles Mögliche ausprobiert und gelesen, wie man global unter RH9 diesen Pfad setzen kann, sodaß er für ALLE user bekannt ist. Angeblich soll es in /etc/profiles gehen, aber es hat nicht funktioniert.
Ein PHP-Script kennt bei mir die Pfade:
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
Als Workaround habe ich nun einen link in /usr/X11R6/bin zu meinem gs in /usr/local/bin gesetzt und es funktioniert so.
Es würde mich aber schon interessieren, wie oder wo der Pfad definiert ist, den php-Scripte kennen. Ist es möglich, daß dieser Pfad fest kompiliert ist?
Also Danke nochmal & bis bald,
Manu
Hallo,
/etc/profiles wird vom Apache ignoriert, da er höchstwahrscheinlich keine Bash ausführt (siehe /etc/passwd).
Du kannst den richtigen Pfad aber im imagemagick_wrapper eintragen (ist bei neueren Versionen von IM4.2.9, s.o. dabei):
#!/bin/sh
# This is a wrapper for all ImageMagick programs.
# It solves the problem that delegates.mgk cannot be found.
# NEUE ZEILE:
export PATH=$PATH:/usr/local/bin
# Define im_path, telling us where this script actually is
im_path=`dirname $0`
im_path=`dirname ${im_path}`
# Specify the path to IM-4.2.9
# If the above method for some reason does not work, you can set im_path manually right here
#im_path=/usr/local/imagemagick-4.2.9
# Set path to delegates.mgk
export DELEGATE_PATH=${im_path}/share
# Absolute program path
${im_path}/bin/`basename $0`.bin "$@"
exit 0
Gruss, michael
Hi Michael,
den wrapper habe ich mir auch schon angesehen und damit experimentiert. Daß ich dort einfach nochmal den Pfad exportieren muß bin ich nicht drauf gekommen.
Es klappt, danke!
Jetzt habe ich nur noch ein Problem mit der gd-Lib. Beim Testen bekomme ich die Meldung:
Fatal error: Call to undefined function: imagegif() in /var/www/web1/html/test/typo3/t3lib/class.t3lib_stdgraphic.php on line 2316
gd ist aber lt. phpinfo installiert:
gd
GD Support enabled
GD Version bundled (2.0.17 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
Typo3-Install sagt: gdLib found
Ideas?
Gruß,
Manu
ImageGif() gibt's nur wenn der "GIF create support" vorhanden ist. Workaround: Install Tool, 1. Seite aufrufen, speichern. Dadurch müsste automatisch gdlib_png auf 1 gesetzt werden. Ansonsten manuell auf der 4. Seite (All configuration) nachholen.
Gruss, michael