Warum werden meine Bash-Skripte nicht von PHP ausgeführt?

DDD
Freigeben: 2024-11-04 21:00:02
Original
751 Leute haben es durchsucht

Why are My Bash Scripts Not Executing from PHP?

Ausführen von Bash-Befehlen aus PHP: Fehlerbehebung bei nicht ausführbaren Skripten

Ein Benutzer hat Schwierigkeiten beim Ausführen eines Bash-Skripts aus einer PHP-Datei. Trotz der Versuche, „shell_exec“ und „system“ zu verwenden, bleibt das Skript unausgeführt. Andere Befehle wie „ls“ funktionieren jedoch ordnungsgemäß mit „shell_exec“.

Mögliche Ursache und Lösung:

Das Problem ist höchstwahrscheinlich auf die Ausführung des Skripts aus dem falschen Verzeichnis zurückzuführen. Um dieses Problem zu beheben, muss der Benutzer vor der Ausführung das aktuelle Arbeitsverzeichnis in das Verzeichnis ändern, in dem sich das Skript befindet. Dadurch wird der richtige Kontext für die Ausführung des Skripts sichergestellt.

Codeausschnitt:

Der folgende Codeausschnitt zeigt, wie das Bash-Skript korrekt ausgeführt wird:

<code class="php">$old_path = getcwd();
chdir('/my/path/'); // Change to the script's directory
$output = shell_exec('./script.sh var1 var2');
chdir($old_path); // Return to the previous working directory</code>
Nach dem Login kopieren

In diesem Code ruft getcwd() das aktuelle Arbeitsverzeichnis ab, chdir('/my/path/') setzt das Arbeitsverzeichnis auf den Pfad des Skripts, shell_exec('./script.sh var1 var2') führt das aus Skript mit den angegebenen Argumenten und chdir($old_path) kehrt zum vorherigen Arbeitsverzeichnis zurück.

Das obige ist der detaillierte Inhalt vonWarum werden meine Bash-Skripte nicht von PHP ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!