Python Prozedur mit PHP anstoßen

  • Ich habe eine Python Datei in der befinden sich diverse Prozeduren und Funktionen. Diese besitzen teilweise Parameter die den Prozeduren oder Funktionen mit übergeben werden müssen.


    Aber wie gelingt es mir mit PHP die Python Datei so einzulesen das PHP die Prozeduren oder Funktionen kennt?

    Mit Shell_exec kann ich doch nur die Komplette Python Datei abarbeiten lassen aber ich will nur diverse Prozeduren oder Funktionen.

  • Meistens passen schon die uid/gid Rechte nicht, wenn der www-data- PHP Data Eigentümer ein -py Script aufzurufen versucht, das meistens dem User pi gehört.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Erst mal danke führ eure Antworten aber ich befürchte ich habe mich vielleicht falsch ausgedrückt oder ihr habt es vielleicht nicht richtig verstanden. Es steht eigentlich nicht zu debatte das php entfällt und sich alles mit python abspielt. Die Python Datei ist auch schon vorhanden. Jedoch möchte ich eine Prozedur/Funktion aus der Python Datei ansprechen. Soll heíßen es soll nicht sturr eine Python-Datei abgearbeitet werden sondern nur Teile (Prozeduren / Funktionen) einer Python-Datei.


    Genau dieses Wissen hatte ich gefragt wie dies Machbar ist oder vielleicht ist dies ja auch nicht machbar?!

  • Doch, wir haben verstanden und es ist machbar. Aber hässlich. Zu deiner Info, pro Woche kommen hier etwa ein bis zwei genau dieser Fragen rein, hättest du die Suche bemüht hättest du nun hunderte Threads zum durchlesen. Solltest du (warum auch immer) mit genau dieser Methode (PHP <-> Python) arbeiten wollen, bitteschön, die Threads dazu existieren.

    Allerdings werden dir einige empfehlen, den serverseitigen Teil ebenfalls in Python zu machen, und das aus gutem Grund. Etwa mit Flask oder Bottle geht das sehr leicht.

  • möchte ich eine Prozedur/Funktion aus der Python Datei ansprechen. Soll heíßen es soll nicht sturr eine Python-Datei abgearbeitet werden sondern nur Teile (Prozeduren / Funktionen) einer Python-Datei.

    Eine Funktion/Methode von einem Python Script, völlig egal ob über PHP oder bash usw, auszuführen ist nicht machbar. Das liegt einfach daran wie Python verarbeitet wird, denn frag dich einfach mal, wie es mit Python generell möglich ist/wird eine Funktion/Methode auszuführen?


    Die sinnvollste Vorgehensweise wurde dir bereits genannt: PHP weg lassen, ebenso einen Webserver wie apache2, stattdessen den Webserver über zB bottle realisieren - in dieses Python Script für bottle importierst du dann dein vorhandenes Python-Script und führst durch entsprechenden Aufruf deine Methode/Funktion auf. Thats really simple.


    FAQ => Nützliche Links / Linksammlung => [Python] Webserver, Websocket und ein bisschen AJAX