2009-06-10 6 views
0

* Dies ist jetzt behoben * durch Löschen der Temp-Ordner in Windows!Warum wird (ImageMagick) convert.exe vom PHP Skript aufgerufen, was zu einer nicht reagierenden Seite führt?

Einige Informationen - Windows 2003 Server, IIS 6 ImageMagick 6.3.3 PHP 5.2.0

Ich bin mit ImageMagick Bilder auf dem Server, um die Größe und ich denke, das hat vor kurzem Probleme wurden verursacht. Was ich bemerke ist, dass, wenn mein PHP Skript den ImageMagick Befehl ausführt, die Webseite einfriert und nicht neu lädt. Tatsächlich habe ich festgestellt, dass ich den Cache und die Cookies löschen muss, bevor ich die Seite neu laden kann und versuche es erneut. Ich habe das Problem auf die Codezeile isoliert, die imageMagick convert.exe aufruft. Ich bekomme keine Antwort und benutze Mozilla Firebug, um den Datenverkehr zu betrachten. Ich kann sehen, dass keine Daten zurückkommen, keine Informationen über die aufgerufene Seite, einfach scheint es zu hängen.

Der Code, der nicht geändert ImageMagick hat Anrufe und zuvor (ca. 2 Jahre!) Immer gearbeitet hat, und ist wie folgt -

$cmd = "convert.exe \"". $uploadfile . "\" -resize \"" . res_image_width ."x" . res_image_height . ">\" \"". $uploadfile. "\" 2>&1"; 
    passthru($cmd); 
    //system($cmd); 
    //exec($cmd); 

(ich normalerweise passthru verwendet haben, aber ich versuchte, exec und System zu sehen, ob Ich könnte einige Informationen zurückgeben.)

Ich kann ImageMagick Befehle von der Kommandozeile aus ausführen kein Problem und Bilder werden fein skaliert ... so scheint ImageMagick gut zu funktionieren, es scheint nur die PHP -> ImageMagick Kommunikation zu sein ist das Problem. Ich hoffe, dass ein Neustart das Problem lösen könnte. Weißt du etwas anderes könnte es sein? Wie würde ich das Problem beheben?

vielen Dank

Antwort

1

Sind Sie in der Lage andere Befehle passthru laufen? Beispiel: passthru("dir");

Und soll res_image_width$res_image_width sein? Stellen Sie sicher, dass error_reporting aktiviert ist (geben Sie error_reporting(E_ALL); oben im Skript ein).

+0

danke für den Tipp über error_reporting ... übrigens fand ich, dass der temporäre Ordner auf Windows Chocka war, also löschte ich einige Dateien und alles begann wieder zu arbeiten ... Ich werde die Frage aktualisieren, um dies zu zeigen. – undefined