Empfohlenes Handbuch: php vollständiges Handbuch zum Selbststudium
Berechtigungsproblem:
Wenn wir Linux-Systembefehle direkt auf dem Server ausführen (hier als Beispiel nehmen wir Ping), hängen die Ausführungsberechtigungen von den Berechtigungen unseres angemeldeten Benutzers ab root, wenn wir ping ausführen Verwenden Sie root zum Ausführen. Wenn wir jedoch auf die Website zugreifen, ist unser Benutzer zu diesem Zeitpunkt www. Wenn wir die Ausführungsberechtigung von Ping nicht ändern, wird die Ausführung nicht erfolgreich sein.
Empfohlenes Tutorial: PHP-Video-Tutorial
Lösung:
Ändern Sie die Ausführungsberechtigungen von Ping oder entsprechenden Befehlen.
Befehlspfadproblem:
Wenn wir exec zum Ausführen eines Befehls verwenden, wird kein Fehler gemeldet und kein Ergebnis zurückgegeben. Der Grund ist Dieser Befehl befindet sich nicht in dem Verzeichnis, in dem die Umgebungsvariable konfiguriert ist, dh in der Datei /etc/profile. Am Beispiel von ifconfig können wir whereis ifconfig verwenden, um den spezifischen Pfad dieses Befehls herauszufinden.
Lösung:
1 Kopieren Sie den Befehl nach /usr/bin, dem Verzeichnis unter der Umgebungsvariablen
2 Befehl Vollständige Pfadvervollständigung exec('/usr/sbin',$output)
3. Fügen Sie das Zielverzeichnis zur Umgebungsvariablen hinzu, fügen Sie beispielsweise /usr/sbin zum Verzeichnis hinzu
Verwandte Artikel Empfohlen:
1.Verwenden Sie exec, um Systembefehle in PHP aufzurufen
2.Der Unterschied zwischen den Funktionen shell_exec() und exec() in PHP
3 .Lösung für das Problem, dass die exec()-Funktion in PHP Systembefehle nicht ausführen kann
Verwandte Videoempfehlungen:
1.Dugu Jiujian (4)_PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonPHP Exec kann nicht ausgeführt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!