
Ich habe eine einfache Localhost-Website mit einer PHP-Seite, die einige Schaltflächen enthält, die Python-Skripte aufrufen.
Ich kann es lokal ausführen und die Ausgabe funktioniert, also ist das Skript auch als Standalone-Version in Ordnung. Das Problem liegt bei der Importfunktion. Immer wenn ich einen Import hinzufüge, bricht es ab.
Bei mir funktionierte es auf einem älteren Laptop mit einer früheren PHP- und Python-Version.
Irgendwelche Gedanken
Hier ist die php
<?php
$command = escapeshellcmd("/usr/bin/python3 test-py.py");
$output = shell_exec($command);
echo $output;
?>
hier ist das einfache Python Whois zu einer Ausgabedatei
import sys
import whois
if len(sys.argv) != 2:
print("Usage: python whois_ip.py <ip_address>")
sys.exit(1)
ip_address = sys.argv[1]
w = whois.whois(ip_address)
with open("output.txt", "w") as f:
f.write(str(w))
print("WHOIS lookup results written to output.txt")
Meine Fragen sind: 1. Irgendwelche Ideen, warum die Importfunktion nicht mehr funktioniert? Könnte es ein Berechtigungsproblem beim Importieren von Bibliotheken sein? 2. Meine PHP.ini hat disabled_functions = "" (also ist nichts deaktiviert, oder?) 3. Gibt es etwas Besonderes an PHP 8.2.5 und Python 3.9.6, das ich wissen sollte?
Ich bin für jede Hilfe dankbar. Danke
Antwort1
Ich habe meine Lösung gefunden und teile sie hier.
In meiner XAMPP-Konfigurationsdatei befindet sich die httpd.conf, in der Sie den Benutzer festlegen. Mein Benutzer war auf Daemon eingestellt. Ich habe es in meinen lokalen Benutzernamen geändert und „Staff“ ist die Gruppe. Dadurch können die zusätzlichen Funktionen meines Skripts funktionieren.
Teilen Sie es hier mit anderen, die möglicherweise ähnliche Probleme haben.
Kurz gesagt, es war ein Berechtigungsproblem mit dem Benutzer, der httpd ausführte