Python Script über Browser starten Raspberry Pi?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
<?php
 $output = shell_exec('/usr/bin/python3.6 /pfad/zum/script');
 echo $output;

GrakaVII 
Beitragsersteller
 19.01.2019, 15:38

Im Browser wird folgendes angezeigt

"*failed to open vchiq instance"

Kieselsaeure  19.01.2019, 15:43
@GrakaVII

Erwartet dein Script irgendwelche Parameter? Ist das überhaupt für Python 3 ausgelegt oder Python 2?

GrakaVII 
Beitragsersteller
 19.01.2019, 15:54
@Kieselsaeure

Mein Script ist in Python 3. Alles was es macht ist ein Foto über die RaspberryPi Kamera. Das Script manuell ausgeführt funktioniert einwandfrei

tide1109  20.01.2019, 00:44
@GrakaVII

Denke daran, dass das Script standardmäßig vom User www-data ausgeführt wird. Der Nutzer sollte Zugriff auf die Hardware (Kamera) und auf das Script haben.

Der Output müsste von Python und nicht von PHP sein.

GrakaVII 
Beitragsersteller
 20.01.2019, 11:20
@tide1109

Wenn ich ein Python Script habe, dass nur "Hallo Welt" am Bildschirm ausgibt, habe ich kein Problem. Beim Kamera Script kommt der bereits erwähnte Fehler. Wie gebe ich denn den User www-data die entsprechenden Rechte?

GrakaVII 
Beitragsersteller
 19.01.2019, 15:32

Danke, ich hatte immer ein ähnliches Script, ich werde Mal schauen ob das den Unterschied macht :)

Ich hatte bei einem ähnlichen Script mal das Problem mit den Rechten. Da ich nicht wollte das der Webserver zu viele rechte hat, hab ich meiner PHP Datei gesagt sie soll eine Textdatei beschreiben und ein extra Script liest die Datei aus und gibt die werte an mein zielscript. Gibt garantiert auch elegantere Lösungen allerdings war das das leichteste und sicherste was mir damals eingefallen ist. Ggf könnte das für dich hilfreich sein.

mittels cgi kannst du solche scripte ausführen.