Welche Schritte sind erforderlich, damit ein Node.js-Webserver wie Apache PHP-Skripte ausführt? Gibt es eine Möglichkeit, PHP in Node.js zu integrieren?
Hinweis: Ich möchte PHP-Skripte nicht direkt in Node.js ausführen, sondern über eine Apache-Instanz oder ähnliches "routen".
Ich hatte die gleiche Frage. Ich habe versucht, PHP über die Shell-Oberfläche aufzurufen, und es wurde das gewünschte Ergebnis erzielt:
var exec = require("child_process").exec; app.get('/', function(req, res){exec("php index.php", function (error, stdout, stderr) {res.send(stdout);});});
Ich bin mir sicher, dass dies nicht ganz oben auf der Liste der empfohlenen Praktiken steht, aber es schien zu tun, was ich wollte. Wenn Sie andererseits PHP-Skripte nicht direkt von Node.js ausführen möchten, sondern sie von einem anderen Webserver weiterleiten möchten, der dies tut, scheint dies den Trick zu tun:
var exec = require("child_process").exec; app.get('/', function(req, res){exec("wget -q -O - http://localhost/", function (error, stdout, stderr) {res.send(stdout);});});
quelle
Schauen Sie hier: https://github.com/davidcoallier/node-php
Aus ihrem lesen Sie mich:
quelle
Sie können PHP wie jeden Webserver mit dem SPHP-Modul für Knoten ausführen.
Es ist kompatibel, aber nicht abhängig von Express.
Es unterstützt auch Websockets-Anforderungen am HTTP-Port.
Es ist auf Geschwindigkeit unter kleiner Last ausgerichtet, anstatt Ressourcen zu sparen.
So installieren Sie im Knoten:
npm install sphp
in deiner App:
var express = require('express'); var sphp = require('sphp'); var app = express(); var server = app.listen(8080); app.use(sphp.express('public/')); app.use(express.static('public/'));
Weitere Informationen finden Sie unter https://github.com/paragi/sphp
Ich bin auch leicht voreingenommen, weil ich der Autor bin :)
quelle
Sie können versuchen, Direct Link Node -> Fastcgi -> PHP zu implementieren. In der vorherigen Antwort bedient nginx PHP-Anforderungen über http-> Fastcgi-Serialisierung-> Unix-Socket-> PHP- und Knotenanforderungen als http-> Nginx-Reverse-Proxy-> Knoten-http-Server.
Es scheint, dass Node-Fastcgi-Paser derzeit verwendet werden kann, jedoch nur als Node-Fastcgi-Backend. Sie müssen es übernehmen, um es als Fastcgi-Client für den PHP-Fastcgi-Server zu verwenden.
quelle
Ein einfacher, schneller Ansatz wäre meiner Meinung nach, dafür dnode-php zu verwenden.
Eine kurze Einführung finden Sie hier . Einfach, schnell und einfach!
quelle
Wenn sich PHP im FPM-Modus befindet, kann Node-Phpfpm eine Option sein. Überprüfen Sie die Dokumentation https://www.npmjs.com/package/node-phpfpm
quelle
Sie können node-php verwenden, um php mit dem Knoten js auszuführen: https://github.com/mkschreder/node-php
quelle
Sie können PHP direkt mit dem Knoten WAS bereitstellen: https://github.com/paragi/was
quelle
Sie müssen auschecken
node-php-fpm
.quelle