In diesem Artikel wird hauptsächlich die Methode zur Fehlerbehebung des Non-Return-Werts der Funktion exec() in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
Um Imagemagic zu sichern, müssen Sie exec verwenden. Die Installation ist auf vielen Servern fehlgeschlagen.
exec() konnte keine externen Befehle ausführen, es gab jedoch keine Fehlermeldung.
Exec führt einen bestimmten Befehl problemlos auf der Befehlszeile aus, aber in PHP tritt ein Fehler auf. Dieses Problem hängt zu 99,99 % mit Berechtigungen zusammen, aber der von exec ausgeführte Befehl gibt keinen Fehler zurück. Ein Trick besteht darin, Pipe-Befehle zu verwenden, vorausgesetzt, Ihr Exec-Aufruf lautet wie folgt:
exec('convert a.jpg b.jpg', $output, $return_val);
kann wie folgt geändert werden:
exec('convert a.jpg b.jpg 2>&1', $output, $return_val); print_r($output);
Verwenden Sie 2>&1, der Befehl gibt den Fehler während der Shell-Ausführung an die aus $Ausgabevariable, Ausgabe Diese Variable ist zur Analyse bereit.
Bemerkungen: exec hat 3 Parameter, der erste ist der auszuführende Befehl, der zweite Parameter ist ein Array, der Wert des Arrays wird generiert, nachdem der erste Befehl ausgeführt wurde, Der Der Ausführungsstatus des dritten Parameters, 0 bedeutet Erfolg, andere bedeuten Fehler.
Es gibt drei Funktionen in PHP, die zum Ausführen externer Befehle System, Exec und Passthru verwendet werden können.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.
Verwandte Empfehlungen:
So lösen Sie das Problem verstümmelter Zeichen nach dem Testen mit PHP nach dem Andocken an Apache
PHPBeispiel für die Verwendung von Curl zur Simulation der Anmeldung und Erfassung von Daten
Das obige ist der detaillierte Inhalt vonSo beheben Sie das Fehlen eines Rückgabewerts der Funktion exec() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!