Fehlerbehebung bei der exec()-Funktion in PHP
Probleme mit der exec()-Funktion können frustrierend sein, insbesondere wenn sie keine Ergebnisse liefert offensichtliche Ergebnisse. Dieser Artikel bietet eine umfassende Anleitung, die Ihnen beim Debuggen und Beheben solcher Probleme hilft.
Problem:
Die Funktion exec() kann keine Befehle auf einem Server ausführen, obwohl der Safe_mode und deaktiviert wurden Überprüfung der Funktionalität von Konsolenbefehlen. Berechtigungen für Anwendungen wurden korrekt festgelegt.
Codeschnipsel:
Die folgenden Codeschnipsel wurden ausprobiert:
echo exec('/usr/bin/whoami'); echo exec('whoami'); exec('whoami 2>&1',$output,$return_val); if($return_val !== 0) { echo 'Error<br>'; print_r($output); } exec('/usr/bin/whoami 2>&1',$output,$return_val); if($return_val !== 0) { echo 'Error<br>'; print_r($output); }
Die letzten beiden Codeschnipsel zeigen eine an Fehler und ein leeres Array. Der Server-Support konnte nicht weiterhelfen.
Lösung:
Disable_functions prüfen:
Debug-Modus aktivieren:
Um das Debuggen zu vereinfachen, verwenden Sie Folgendes Code:
#!/usr/bin/php ini_set("display_errors", 1); ini_set("track_errors", 1); ini_set("html_errors", 1); error_reporting(E_ALL);
Erlaubnis Probleme:
Das obige ist der detaillierte Inhalt vonWarum funktioniert meine PHP-Funktion exec() nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!