Der folgende Editor bietet Ihnen eine kurze Diskussion über die Fehlerbehebungsmethode für die exec()-Funktion von PHP bei fehlendem Rückgabewert (muss gelesen werden). Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor, um einen Blick darauf zu werfen
In SicherheitImagemagic muss auf vielen Servern exec verwendenInstallationfehlgeschlagen
exec() wird extern ausgeführt Der Befehl ist ohne Fehlermeldung fehlgeschlagen.
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);
Mit 2>&1 gibt der Befehl den Fehler während der Shell-Ausführung an die Variable $output aus und gibt die Variable zur Analyse aus.
Bemerkungen: exec hat 3 Parameter. Der zweite Parameter ist ein Array. Der Wert des Arrays wird generiert, nachdem der erste Befehl ausgeführt wurde. , Der dritte Parameter führt den -Status aus, 0 zeigt Erfolg an, andere zeigen Fehler an.
Es gibt drei Funktionen in PHP, die zum Ausführen externer Befehle System, Exec und Passthru verwendet werden können.
Das obige ist der detaillierte Inhalt vonStellen Sie kurz die Fehlerbehebungsmethode für die PHP-Funktion exec() ohne Rückgabewert vor (empfohlen).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!