Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
es handelt sich um meinen ersten Versuch, ein Python-Skript in PHP aufzurufen. Da das nicht erfolgreich war, versuche ich es erst einmal ganz einfach mit
@maksimilian: Du bist doch der Typ mit der Waage. Also eine grafische Aufbereitung und Anzeige der Daten im Browser ist auch mit Python möglich. Warum bringst du hierfür PHP ins Spiel?
Deinen bisherigen Beiträgen entnehme ich, dass du Debian Stretch auf dem Server verwendest. Da sollte auch Python bereits vorinstalliert sein. Und auch Python ist fähig, Internetseiten dynamisch zu erzeugen, so wie bei PHP. Nur für den Fall, dass dir das nicht bewusst war...
Ich habe ja auch kein gutes Gefühl bei der Mischung von PHP und Python.
Konkretes Problem im Moment: Ich möchte ein Python-Skript im Browser aufrufen, welches unter Verwendung von GPIO Daten einer Wägezelle ausliest, um den Tara Korrekturfaktor zu ermitteln und diesen in eine Konfigurationsdatei zu schreiben. Das funktioniert ja schon. Die Tara-Kalibrierung der Wägezelle ist kein einmaliger Vorgang, weshalb hierfür eine einfache Benutzerschnittstelle zur Verfügung stehen soll (sowohl über Knopfdruck an der Waage als auch remote).
maksimilian
@ snafu
Richtig, ich bin der „Typ mit der Waage“ (sehr aufmerksam). Die Visualisierung der Messdaten ist ja in anderes Problem, als dasjenige, welches ich in diesem Thread anspreche. Aber da Du es erwähnst: Ich bin mir immer noch nicht im Klaren, wie ich das Thema angehen kann (es fehlt die Anfangshilfe). Mir wäre es am sympathischsten, es vollständig mit PHP zu lösen. Ich kenne mich zwar mit PHP etwas aus, aber bei Visualisierung (und Java) muss ich noch passen.
Spaetestens wenn du eine bestaendig laufende Anzeige von Werten haben willst, dann geht dein exec-Ansatz mit PHP & Python in die Hose. Ich habe lange kein PHP mehr gemacht, und kenne mich darum damit nicht mehr besonders gut aus. Aber sowas wie Websockets, welche man fuer so etwas braucht, sind in PHP nicht weniger kompliziert als in Python.
Ich wuerde also gleich auf ein websocket-faehiges Framework wie zB tornado setzen. Dann kannst du alles in Python schreiben, und musst dir nicht eine Interprozess-Kommunikation dazu basteln.
Diese Antwort verstehe ich nicht. Was hat die Darstellung in JS mit dem Server zu tun?
Wie dem auch sei: wir sind ja hier auf Python spezialisiert. PHP gibt es anderswo bestimmt Hilfe, denn exec hat ja nichts mit Python zu tun ob das klappt oder nicht. Und dazu findet sich ja auch viel da draussen, zb https://stackoverflow.com/questions/121 ... c-problems
maksimilian hat geschrieben: ↑Donnerstag 20. Dezember 2018, 10:53
Das exec Problem ist aber nicht gelöst.
exec() gibt nur die letzte Zeile der Ausgabe zurück. Wahrscheinlich ist das bei dir einfach eine leere Zeile. Wenn du alle Zeilen haben willst, dann musst du exec() als zweiten Parameter ein Array mitgeben.
Oder du nutzt alternativ shell_exec(), welches als Rückgabe alle Zeilen als einen String liefert. Hier kannst du anstelle der Funktion auch schreiben:
Das ist aber PHP-Basiswissen und gehört auch nicht wirklich in ein Python-Forum. Falls du dich dafür nicht woanders anmelden möchtest und die PHP-Fragerei nicht ausufert, dann nutze bitte demnächst wenigstens das Unterforum Offtopic.
Entschuldigt bitte! Da ich nun weiß, dass es sich beim exec() um ein reines PHP Problem handelt, setze ich diesen Thread nicht fort. Danke für Eure konstruktive Unterstützung.