Heim >Backend-Entwicklung >PHP-Tutorial >So beheben Sie das Fehlen eines Rückgabewerts der Funktion exec() in PHP

So beheben Sie das Fehlen eines Rückgabewerts der Funktion exec() in PHP

墨辰丷
墨辰丷Original
2018-05-24 11:29:291790Durchsuche

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

PHP verwendet Cookies, um die Funktion des Merkens von Benutzernamen zu realisieren und Passwörter auf Webseiten

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn