Ich habe eine Website mit PHP erstellt. Ich habe eine Erlang-Anwendung, die als Daemon auf demselben Server läuft. Ich muss Funktionen auf der Erlang-Anwendung von PHP aufrufen und das Ergebnis zurückbekommen.
Ich habe PHP / Erlang und über PHP-Module gefunden, aber ich kann kein PHP-Modul auf diesem Server installieren, ich kann nur PHP-Code verwenden.
Der einzige Weg, den ich kenne, um es zu lösen, ist, lokal einen Erlang-Webserver zu betreiben, mit dem PHP sprechen kann.
Gibt es einen besseren Weg, es zu lösen? Wenn der Gebrauch eines httpd Servers der beste Weg ist, welchen Erlang Server sollte ich benutzen? Es sollte so leicht wie möglich sein und benötigt keine Features wie SSL und muss keine große Last verarbeiten.
Danke
Ich würde einen Webserver wie mochiweb betreiben, der den Erlang-Code hostet. Der PHP-Code würde curl verwenden, um in JSON codierte http-Anfragen an mochiweb zu senden. Mochiweb hat einen JSON-Encoder / Decoder und PHP hat native JSON-Unterstützung.
Auch wenn sich alles auf demselben Server befindet, verwenden Sie einfach HTTP. Behandelt alle Low-Level-Sachen und wenn Sie skalieren müssen, wird es einfacher, da die Skalierung mit HTTP ein gelöstes Problem ist. Mochiweb ist leicht und hat eine hohe Leistung.
Erlang ist exzellent in der Socket-I / O: vielleicht könntest du eine Art Pipe benutzen?
Das wäre direkter als über eine andere WEB-Server-Ebene.
Verwenden Sie die Funktionen erlang: open_port und erlang: port_command , um Daten über einen Systemport aus Erlang zu holen.
Schauen Sie sich erl_call
an. Ссылка
Es ist ein Unix-Programm, mit dem eine Funktion in erlang aufgerufen wird. Es startet einen Dummy-Erl-Knoten, führt die Befehle aus und gibt das Ergebnis zurück. Sie könnten PHP verwenden, um erl_call aufzurufen und dann die Ergebnisse zu verwenden, die es zurückgibt.
Tags und Links php erlang marshalling