ImageMagick mit PHP ausführen

micha

Registered User
Hallo,

ich habe auf meinem Server (OpenSuse 10.2) ImageMagick installiert und es auch mit root rechten ohne Probleme gestartet.
Allerdings will ich es mit PHP ausführen lassen (exec()).
Nur stehe ich gerade völlig auf der Leitung und habe keine Idee wie ich dafür sorge, dass wwwrun "convert" ausführen darf.

Habe das Ganze über Yast2 installiert und habe außerdem keine Ahnung wo ich das Script überhaupt finde.

Wäre nett, wenn Ihr mit helfen könntet.

Liebe Grüße
Micha
 
Nur stehe ich gerade völlig auf der Leitung und habe keine Idee wie ich dafür sorge, dass wwwrun "convert" ausführen darf.
Normalerweise darf jeder Benutzer das Programm ausführen.

Habe das Ganze über Yast2 installiert und habe außerdem keine Ahnung wo ich das Script überhaupt finde.
Code:
rpm -ql ImageMagick
Normalerweise liegt alles in /usr/bin/.
 
Hallo,

aber leider ist das mit dem Ausführen nicht so. Habe das Ganze versucht mit
Code:
php edit_bild.php
(als root) in der Console zu starten.

Aber jedes Mal kriege ich folgende Meldung:
Code:
sh: /convert: No such file or directory

Der safe_mode von PHP ist deaktiviert. Aber irgendwie macht das System trotzdem nicht mit.

Jemand ne Idee??? Schonmal danke fürs Überlegen :-)

Liebe Grüße
Micha
 
Hallo,

im PHP Script steht folgendes:

Code:
 [..]exec ("/usr/bin/convert -size 459x100 xc:lightblue
                          ".$row['picture']." -geometry +0+0 -composite
			  spezial_front_".$id.".png -geometry +0+0 -composite
			  -font 04B_09__.TTF  -pointsize 7
			  -fill black  -draw \"text 2,61 '".$row['beschreibung']."'\"
			  -font 04B_08_.TTF  -pointsize 8
			  -fill black  -draw \"text 2,71 '".$row['untertitel']."'\"
			  $row['picture']);

Starte ich das Ganze, sowie es dort steht einfach so in der Console (also ohne das exec, dann funktioniert es.

Ideen?

Liebe Grüße
Micha
 
Hallo!
Es wäre natürlich toll, wenn du uns deine Lösung verrätst.

mfG
Thorsten
 
Hallo,

ich habe das ganze mit shell_exec ausgeführt und die Zeilenumbrüche rausgenommen.

Dann lief es.

Liebe Grüße
Micha
 
Du willst dir noch escapeshellarg und escapeshellcmd anschauen:
PHP: escapeshellarg - Manual
PHP: escapeshellcmd - Manual

maskiert alle möglichen Zeichen in einer Zeichenkette, die dazu benutzt werden könnten, um einen Shellbefehl zur Durchführung von willkürlichen Befehlen zu veranlassen. Diese Funktion sollte verwendet werden um sicherzustellen, dass alle Daten aus einer Benutzereingabe maskiert werden bevor dieses Daten zu einer der Funktionen exec(), system() oder dem Backtick Operator übergeben werden.
 
Back
Top