[PHP] ImageMagick mit shell_exec aufrufen

wahnsinn

Teilzeitcholeriker
ID: 13929
L
20 April 2006
1.168
153
Ich versuche gerade, meine ersten Schritte mit ImageMagick zu gehen. Wenn ich den Befehl direkt in die Konsole schreibe, funktioniert's einwandfrei. Sobald ich das aber von meinem PHP-Script erledigen lassen will, tut sich gar nix.

PHP:
$cmd = '/usr/local/bin/convert -resize 100x100 '.$_SERVER['DOCUMENT_ROOT'].'/files/foto_fotogalerie_1_1934.jpg '.$_SERVER['DOCUMENT_ROOT'].'/files/xxx.jpg';
$output = shell_exec($cmd);
echo($cmd.'<br /><pre>'.$output.'</pre><br /><img src="/files/xxx.jpg" />');

In $output steht leider nichts drin. Wenn ich jedoch shell_exec('ls -la') mache, funktioniert's einwandfrei...
 
Aber auch das Bild wird nicht erzeugt. Zumindest finde ich es nicht. Wenn ich den Befehl hingegen direkt in der Konsole eingebe, wir das Bild einwandfrei erzeugt und gespeichert.
 
Wie meinst du? Die Variable $cmd lasse ich ausgeben. Und wenn ich den Befehl dann in die Konsole kopiere und ausführe, klappt es wunderbar.
 
Eventuell ein Problem mit den Berechtigungen? Was passiert wenn du das Script mal direkt mit php script.php aufrufst?
 
Werd ich heute Abend versuchen. Aber müsste dann nicht eine dementsprechende Meldung in $output stehen?
 
Werd ich heute Abend versuchen. Aber müsste dann nicht eine dementsprechende Meldung in $output stehen?

Jein da bin ich mir nicht ganz sicher. Die Fehler von Linux gehöhren nicht mit zur Standardausgabe, von daher kanns gut möglich sein dass du das gar nicht mitbekommst. Alternativ zudem was ich vorns geschreiben hab kannste ja mal 2>&1 hinten an den Befehl hängen. Damit werden Fehler auf die Standardausgabe umgeleitet und wären so defintiv auch in PHP sichtbar.
 
Vielen Dank dir, das Problem waren die Berechtigungen. :doh: :oops:

Aber auch die Sache mit dem 2>&1 hat mir geholfen, noch ein anderes Problem zu lösen.