Imagemagick läd nicht mit Webstation

Status
Für weitere Antworten geschlossen.

B3sute

Benutzer
Mitglied seit
03. Dez 2013
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo Forum,

ich kämpfe gerade mit ImageMagick und habe mich hierzu auch schon durch gefühlte 300 Artikel (u.a. die Forensuche) durchgelesen. Leider ohne Erfolg.

ImageMagick und Abhänigkeiten (automatisch mitinstalliert) habe ich per IPKG installiert und möchte es nun mit der Webstation verheiraten. Leider funktioniert diese Beziehung schlechter als erwartet. Das konvertieren über CLI funktioniert jedoch prima, wehalb das Paket funktionsfähig scheint. Leider wurde es nicht in der PHPinfo() angezeigt. Eine Eintragung in die extensions.ini von PHP hat auch nicht viel gebracht, was mich nicht verwundert, da ich im gesamten System vergebens nach einer imagick.so gesucht habe. Safe_mode ausschalten brachte auch recht wenig, da es schon von Haus aus deaktiviert war. Hier noch ein paar Infos:

PHP.ini liegt in /usr/syno/etc/php.ini
extensions.ini liegt in /usr/syno/etc/PHP/extensions.ini
open_basedir ist deaktiviert (von Haus aus)
Auf der Weboberfläche (Systemsteuerung > Webdienste > PHP Einstellungen > Extensions) führt meine kleine DS ImageMagick nicht auf.
Rich (BBCode):
find / -name '*imagemagick*'
/opt/lib/ipkg/info/imagemagick.list
/opt/lib/ipkg/info/imagemagick.control
/volume1/@optware/lib/ipkg/info/imagemagick.list
/volume1/@optware/lib/ipkg/info/imagemagick.control
Rich (BBCode):
ipkg install imagemagick
Package imagemagick (6.6.9.1-1) installed in root is up to date.
Nothing to be done
Successfully terminated.

THX
 
Zuletzt bearbeitet:

B3sute

Benutzer
Mitglied seit
03. Dez 2013
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo Community,

niemand eine Idee? Ein Tipp, ein Verdacht, Erfahrung mit der Library oder eine Beschreibung wie er es selber zum laufen bekommen hat?

Gruß, B3sute
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
74
Punkte
88
imagemagick besteht aus einzelnen Komponenten: convert, mogrify, ... ich hab die grad nicht alle im Kopf, aber diese beiden Bestandteile sind auf der syno von Haus aus vorhanden... Wenn die Photostation die Thumbs erstellt, nutzt sie convert...
Hast du eine bestimmte php-Anwendung, die imagemagick benötigt?

Stefan
 

B3sute

Benutzer
Mitglied seit
03. Dez 2013
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Nur eine Applikation in Eigenentwicklung. Diese sollte jedoch in der Lage sein einzelne Seiten eines PDF Dokumentes als Thumbnail anzuzeigen. Dafür wäre Imagemagick praktisch.

//edit:
Ich habe nun mal testweise die PhotoStation installiert und geschaut ob Thumbnails angelegt werden. Wo speichert die PhotoStation die Thumbs ab?
 
Zuletzt bearbeitet:

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
74
Punkte
88
probier mal ob du mit /usr/syno/bin/convert oder /opt/bin/convert (ist der Pfad so richtig?) aus dem php-Skript die Konvertierung starten kannst...

Stefan
 

B3sute

Benutzer
Mitglied seit
03. Dez 2013
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Ich kann dir nicht ganz folgen. Meinst du den Shellbefehl via PHP ausführen?
PHP:
shell_exec("/opt/bin/convert /volume1/web/dms/panda.png /volume1/web/dms/panda.jpg");

Da ich jetzt die Photostation installiert habe müssten beide Pfade richtig sein :).

Grüße

edit:
Eben mal ausprobiert. Weder Reaktion noch Fehler.
PHP:
error_reporting(E_ALL);
exec("/opt/bin/convert Koala.jpg Koala.png");
 
Zuletzt bearbeitet:

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
74
Punkte
88
bin zwar in php nicht so ganz firm, aber das sieht so aus, als ob ich das gemeint habe ;)

Die Thumbnails legt die PS in Unterordner ab, die @eaDir heissen, sie sind nur über die Konsole sichtbar...

Stefan
 

B3sute

Benutzer
Mitglied seit
03. Dez 2013
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Nja, die PhotoStation scheint nicht so ne Probleme zu haben, wie ich. Das Thumbnail hat super geklappt.
Rich (BBCode):
>> du Koala.jpg
764     Koala.jpg
>> du @eaDir/Koala.jpg/
424     @eaDir/Koala.jpg/

Das Resultat meines PHP Experimentes siehst du im Beitrag über dir (wollte keinen Doppelpost machen, deswegen der edit, allerdings warst du mit deiner Antwort schneller :))

Grüße

edit: Test 1.024
Habe nun mal das safe_mode_exec_dir angepasst und /usr/syno/bin eingetragen. Dementsprechend mein Script angepasst
PHP:
// Alle eventuellen Fehler anzeigen
error_reporting(E_ALL);

// Konvertier jetzt endlich diese sch.... Datei!!!!11!
exec("/usr/syno/bin/convert Koala.jpg Koala.png");

// Testen ob exec überhaupt funktioniert
echo exec("pwd");
echo "<br>";
echo exec("ls -lisa");

Resultat: Nix... Keine Bewegung (EDIT: Doch Bewegung. Siehe Edit Vermerk unten), keine Koala.png. Was mich jedoch verwundert ist folgende Ausgabe:
Rich (BBCode):
/volume1/web/dms
67897354 4 -rwxr-xr-x 1 admin users 26 Feb 23 18:27 phpinfo.php
Erste Zeile war der pwd, in der zweiten soll er mir den gesamten Ordnerinhalt auflisten. Doch der Ordnerinhalt sieht eigendlich so aus:
Rich (BBCode):
ls -lisa
64815326    4 drwxr-xr-x    6 admin    users         4096 Feb 25 20:57 .
    963    4 drwxrwxrwx    6 root     root          4096 Feb 25 20:34 ..
67897357  388 -rwxrwxrwx    1 admin    users       394176 Dec 25 19:27 1.pdf
64815348    4 drwxr-xr-x    2 root     users         4096 Feb 23 17:54 @eaDir
67902707  764 -rwxrwxrwx    1 admin    users       780831 Jul 14  2009 Koala.jpg
[...]
67902709    4 -rwxrwxrwx    1 admin    users          294 Feb 25 20:57 index.php
67897354    4 -rwxr-xr-x    1 admin    users           26 Feb 23 18:27 phpinfo.php

edit: Kommando zurück! Ich hasse mich selbst. Der Parent-Folder in dem das Script lag, hatte die Ordnerrechte 755. Dann kann PHP lange versuchen ein Bild zu konvertieren. Nachdem ich die Rechte geändert habe, klappte es. Ich finde es allerdings immernoch unschön. Wäre klasse, wenn jemand da noch ein heißen Tipp für mich hätte.
@stefan_lx: THX für die Hilfe.
 
Zuletzt bearbeitet:

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
74
Punkte
88
bei mir ist in dem open_base... der Pfad nicht drin, aber ich weiß, dass der Aufruf funktionieren muss, weil ich eine Bildergallerie nutze, die in /usr/syno/bin/ sich die Imagemagick-Dateien sucht (wenn man das will) und dann auch Thumbnails generiert...

Stefan
 

B3sute

Benutzer
Mitglied seit
03. Dez 2013
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hat auch geklappt. Sry, dass ich dir unnötigen Aufwand deswegen gemacht habe.
edit: Kommando zurück! Ich hasse mich selbst. Der Parent-Folder in dem das Script lag, hatte die Ordnerrechte 755. Dann kann PHP lange versuchen ein Bild zu konvertieren. Nachdem ich die Rechte geändert habe, klappte es. Ich finde es allerdings immernoch unschön. Wäre klasse, wenn jemand da noch ein heißen Tipp für mich hätte.
@stefan_lx: THX für die Hilfe.
Aber es kann ja nicht sein, dass ich Imagemagick nicht direkt mit dem Apache laden kann. Die PhotoStation schafft es ja auch :/
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
74
Punkte
88
die PS macht das eigentlich nicht... es gibt ein shell-Skript (müsste /usr/syno/etc/rc.d/S77synomkthumbd.sh sein), das im Hintergrund läuft und die Thumbs bei Bedarf erstellt.
Die von mir genutzte Bildergallerie kann die Thumbs auch on-the-fly generieren, ich weiß nicht, ob du Lust hast die ganzen Dateien zu durchsuchen ... ;)

Stefan
 

B3sute

Benutzer
Mitglied seit
03. Dez 2013
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Wenn's sein muss, beiße ich mich auch da durch ;)

Über die Konsole (oder exec) funktioniert es jetzt so weit. Die Qualität ist allerdings mehr als bescheiden. Ich hab mal ein Vergleich angehangen. Rechts das Original, welches natürlich naturgemäß skalierbar ist. Links das Konvertierte Bild. Ist übrigens das Privacy Handbuch, falls sich jemand wunder was für eine Gülle ich da auf meinem Rechner hoste ^^.

vergleich.jpg
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
74
Punkte
88
ich hab letztlich versucht pdf-Seiten in einzelne jpgs umzuwandeln, die dann auch mal erst recht "derhaut" ankamen... mit quality, resize, und dpi muss man da rumspielen.
Die besten Ergebnisse hab ich mit pdftoppm bekommen, was es für die synos über ipkg wohl nicht gibt...

Stefan
 

B3sute

Benutzer
Mitglied seit
03. Dez 2013
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Reib es mir noch unter die Nase, damit es auch noch richtig schön weh tut :p. Dann muss ich halt bei Imagemagick und Ghostscript bleiben. Ist mir leider ein wenig zu überladen :/. Hab es jetzt auch geschaft die Quali akzeptable hochzuschrauben. Ein paar Flags anhängen hat schon gereicht.

Rich (BBCode):
convert -density 300 -trim 1.pdf[1] -quality 100 1-10.jpg
convert: Ist klar, die Anweisung das Konvertiertool auszuführen.
density 300 -trim http://www.imagemagick.org/script/command-line-options.php#quality

Das Resultat sieht schon wesendlich besser aus. Ich habe es mal angehängt. Die Laufzeiten sind bescheiden, aber eine Seite pro Durchlauf zu konvertieren sollte damit klappen. Ich werde nun trotzdem auf ein Shellscript ausweichen, welches einen Ordner überwacht und in regelmäßigen Abständen neue Vorschaubilder (in originalgröße) erzeugt. Dem Webserver möchte ich das nicht zumuten. Zu groß die Angst, dass korupte Dateien entstehen, weil sie wegen Laufzeitende unterbrochen werden.

Ich bin jedoch immer noch auf der Suche nach einer PHP Lösung. Auch Shellscripte die Watchdogmäßig meinen Ordner überwachen könnten wären hilfreich. Danke schon mal an alle die Hilfe stellen und auch an die, die es nur mal so lesen, da Interesse dran.

Imagemagick und Ghostscript (für zB PDF Konvertierung) mittels PHP funktioniert bei mir übrigens NICHT. Ich habe Imagemagick (noch mal) per IPKG installiert und somit liegt es in /opt/bin. Darauf mag mein Script allerdings nicht zugreifen. Also bleibt nur die Konsole. (Als Info für ebenfalls Verzweifelnde, wie mich)

vergleich.PNG
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat