Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich ein Python-Skript erfolgreich von PHP aus ausführen?

Wie kann ich ein Python-Skript erfolgreich von PHP aus ausführen?

Susan Sarandon
Susan SarandonOriginal
2024-12-24 04:00:09362Durchsuche

How Can I Successfully Run a Python Script from PHP?

Ausführen eines Python-Skripts aus PHP

PHP bietet mehrere Funktionen zum Ausführen externer Befehle, einschließlich exec, shell_exec und system. Beim Versuch, ein Python-Skript mit diesen Funktionen auszuführen, können jedoch Probleme auftreten.

Fehlerbehebung:

Um dieses Problem zu beheben, haben Sie verschiedene Lösungen ausprobiert, darunter:

  • Verwendung verschiedener Python-Interpreter
  • Verwendung sowohl absoluter als auch relativer Pfade
  • Testen mit anderen Befehlen (z. B. echo)

Sie haben jedoch festgestellt, dass PHP immer noch keine Ausgabe erzeugt.

Lösung:

Das Problem liegt möglicherweise nicht bei PHP, sondern bei den Berechtigungen. Webserver werden normalerweise mit eingeschränkten Benutzerrechten ausgeführt, was ihre Fähigkeit, bestimmte Befehle auszuführen oder auf Dateien zuzugreifen, einschränken kann.

  1. Als Webserver-Benutzer anmelden:

Melden Sie sich bei Ihrem Server als der Benutzer an, unter dem Ihr Webserver läuft (z. B. www-data).

  1. Testen Sie den Befehl:

Verwenden Sie den Befehl, den Sie in PHP ausführen möchten, und führen Sie ihn manuell aus Terminal als Webserver-Benutzer. Zum Beispiel:

/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2

Wenn der Befehl manuell ausgeführt wird, bestätigt er, dass das Problem bei den Berechtigungen liegt.

  1. Berechtigungen prüfen:

Stellen Sie sicher, dass das PHP-Skript und das Python-Skript über die richtigen Berechtigungen verfügen. PHP sollte Ausführungsberechtigungen für das PHP-Skript haben, und das Python-Skript sollte Ausführungsberechtigungen für den Webserver-Benutzer haben.

  1. Verwenden Sie „shell_exec“:

Die Shell_exec-Funktion von PHP ist im Allgemeinen zuverlässiger für die Ausführung externer Befehle als exec oder system. Es gibt die vollständige Ausgabe des ausgeführten Befehls zurück. Verwenden Sie den folgenden Code:

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;
  1. Stellen Sie sicher, dass die Shebang-Zeile der Python-Datei vorhanden ist:

Stellen Sie sicher, dass die erste Zeile Ihrer Python-Datei Folgendes enthält Shebang-Zeile:

#!/usr/bin/env python

Diese Zeile gibt den Python-Interpreter an verwenden.

  1. Python-Datei ausführbar machen:

Machen Sie Ihre Python-Datei bei Bedarf auf UNIX-Plattformen ausführbar mit:

chmod +x myscript.py

Das obige ist der detaillierte Inhalt vonWie kann ich ein Python-Skript erfolgreich von PHP aus ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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