Stellen Sie trotz der Bemühungen, den abgesicherten Modus zu deaktivieren, die ordnungsgemäße Konsolenbefehlsfunktionalität sicher und testen Sie mit expliziten Pfaden , kann der Befehl exec() auf einem Server nicht ausgeführt werden. Fehlerbehebungsversuche waren erfolglos und erfordern weitere Untersuchungen.
Um dieses Problem zu beheben, beachten Sie Folgendes:
Überprüfen Sie die Datei /etc/php.ini und stellen Sie sicher, dass exec ist in der Anweisung „disable_functions“ nicht vorhanden. Wenn dies der Fall ist, entfernen Sie es und starten Sie Apache neu.
Für eine umfassendere Fehlerprotokollierung fügen Sie den folgenden Header zum hinzu Anfang der PHP-Datei:
#!/usr/bin/php ini_set("display_errors", 1); ini_set("track_errors", 1); ini_set("html_errors", 1); error_reporting(E_ALL);
Führen Sie die PHP-Datei manuell über die Befehlszeile aus:
./myscript.php
Dies ermöglicht eine ausführlichere Fehlerberichterstattung.
Stellen Sie sicher, dass die Datei, die Sie benötigen versuchen auszuführen und der enthaltende Ordner verfügt über ausreichende Berechtigungen. Erwägen Sie die Verwendung von chmod 755 als Test.
Das obige ist der detaillierte Inhalt vonWarum schlägt meine Funktion exec() fehl, auch nachdem der abgesicherte Modus deaktiviert und die Berechtigungen überprüft wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!