- Webmaster: Python Code im PHP Skript ausgeben
- Webmaster: Python Code im PHP Skript ausgeben
- Was ist "Python"? Erklärung: Das bedeutet Python
- WAN Port Fritzbox: Was kann der blaue Anschluss?
- PHP: IP Adresse herausfinden (wenn REMOTE_ADDR nicht funktioniert)!
- DOS Befehle für die Windows Eingabeaufforderung
Webmaster: Python Code im PHP Skript ausgeben
Ob auf einem lokalen Server oder auf einem Webserver: Manchmal arbeitet man mit verschiedenen Programmen und Programmiersprachen zusammen. Mit PHP und Python geht das einfacher als mit Javascript: PHP und Python laufen beide zusammen auf dem Server, während Javascript erst im Browser ausgeführt wird. Hier lassen sich Daten nicht mehr so einfach an PHP oder Python zurück senden.
Python Code in PHP
Um Python-Code aus einem PHP Programm heraus auszuführen, kopiert man die Befehle in eine Datei mit der Dateiendung .py (falls man nicht bereits ein Python Programm vorliegen hat, dass man aus PHP ausführen möchte).
In unserem Beispiel ist dieser Python-Code in der Datei “/var/www/mein_skript.py” gespeichert. Somit kann man den Python Code so mit PHP aufrufen:
<?php $code = escapeshellcmd('python /var/www/mein_skript.py'); $ergebnis = shell_exec($code); echo $ergebnis; ?>
Die erste Zeile (escapeshellcmd) sorgt dafür, dass keine Sonderzeichen übergeben werden, die Probleme bereiten könnten: Das ist vor allem dann wichtig, wenn hier Daten von fremden Benutzern verarbeitet werden sollen (zum Beispiel ein User-Name als Dateiname).
Falls das Python-Skript eine Ausgabe zurückgibt, wird diese in der Variable $ergebnis gespeichert und lässt sich in der dritten Zeile mit dem Echo-Befehl ausgeben.
sudo python: Wenn man mehr Rechte braucht
Soll das Python Skript auf bestimmte Funktionen zugreifen, auf die PHP (oder der User www-data) keine Rechte besitzt, muss man dies aber zunächst ändern. Das ist zum Beispiel wichtig, wenn mit PHP ein Python Skript gestartet werden soll, das die GPIO Ports auf einem Raspberry Pi steuert!
Hier kann man zunächst den Befehl “sudo” in dem PHP Skript vor den Aufruf der Python-Datei setzen:
$code = escapeshellcmd('sudo python /var/www/mein_skript.py');
Damit das aber auch funktioniert, muss der User www-data in die Liste der sudoers eingetragen werden: Ansonsten hat er trotz sudo keine weiteren Rechte.
Dazu ruft man die Liste der sudo Berechtigtigen auf, in dem man sich mit dem Server verbindet (zum Beispiel per SSH):
sudo visudo
Jetzt gibt man dem User www-data zusätzliche Rechte für das Ausführen von unserem Python-Skript, indem man am Ende der Datei diese Zeile ergänzt:
www-data ALL=(ALL) NOPASSWD: /usr/bin/python /var/www/mein_skript.py
Dabei muss der Pfad zu dem Skript und eventuell zu dem Python Interpreter eventuell angepasst werden. Anschließend kann man mit PHP aber auch mit zusätzlichen Rechten auf das Python-Skript zugreifen.
Mit STRG + O speichert man die Änderungen an der sudoers Liste und beendet mit STRG + X den Nano Editor wieder.
- datenschutz (4x gelesen)
- pc-einsteigerkurs (3x gelesen)
- windows-beschleunigen (2x gelesen)
- windows-schneller-starten-autostart-aufraeumen (2x gelesen)
- windows-defragmentieren-und-aufraeumen (1x gelesen)
Mehr Tipps zu Webmaster: Python Code im PHP Skript...
-
ELSE IF mit Python: So geht’s!
Jede Programmiersprache hat ihre Eigenheiten: Während man in PHP und JavaScript die IF/ELSE Syntax mit "ELSE IF" um eine zweite Abfrage erweitert, funktioniert das nicht...
-
Raspberry Pi: GPIO Pins mit Python steuern
Mit der Programmiersprache lassen sich die GPIO Pins des Raspberry Pi ganz einfach steuern und damit zum Beispiel eine LED ein oder ausschalten oder blinken...
-
Raspberry Pi: Python-Fehler “ImportError: No module named ‘RPi.GPIO'”
Um mit dem Raspberry Pi und der Programmiersprache Python auf die GPIO-Ports zugreifen zu können, muss man vorher sicherstellen, dass alle nötigen Bibliotheken geladen und...
-
PHP Fehler anzeigen: Fehleranzeige aktivieren für eine oder alle Seiten!
Schnell sehen, wo der PHP Fehler liegt: Dazu schaltet man die PHP Fehleranzeige ein, um genaue Informationen zu Problem und Zeilennummer zu bekommen. Die PHP...
-
GD Bild-Bibliothek für PHP installieren (z.B. auf einem Raspberry Pi)
Mit der Bild-Bibliothek "GD" kann man mit PHP zahlreiche Bildbearbeitungsfunktionen nutzen: So lassen sich Bilder erstellen, zuschneiden, umwandeln oder auch darin/darauf zeichnen. Die GD Bibliothek...
-
PHP “rename”: Mit PHP Skript mehrere Dateien umbenennen
Dieses kleine Skript hilft dabei, viele Dateien schnell und einfach umzubenennen: Das ist zum Beispiel praktisch, um allen Bildern in einem Ordner eine fortlaufende Nummer...
Webmaster: Python Code im PHP Skript ausgeben