
Daniel
Welche Schritte sind notwendig, 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-Schnittstelle aufzurufen, und es hat das gewünschte Ergebnis geliefert:
var exec = require("child_process").exec;
app.get("https://stackoverflow.com/", 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 hingegen PHP-Skripte nicht direkt von Node.js ausführen, sondern von einem anderen Webserver aus weiterleiten möchten, der dies tut, scheint dies zu funktionieren:
var exec = require("child_process").exec;
app.get("https://stackoverflow.com/", function(req, res){exec("wget -q -O - http://localhost/", function (error, stdout, stderr) {res.send(stdout);});});
Node.js unterstützt nur JavaScript. Hier ist ein Tutorial, wie man PHP nebenbei mit Node.js laufen lässt.
http://blog.mixu.net/2011/01/04/nginx-php-fpm-and-node-js-install-on-centos-5-5/
Schau mal hier: https://github.com/davidcoallier/node-php
Von ihr lies mich:
Inline-PHP-Server, der auf Node.js ausgeführt wird
Sei besorgt, sei sehr besorgt. Der Name KnotenPHP hat seinen Namen von der Tatsache, dass wir einen netten Node.js-Server effektiv in eine FastCGI-Schnittstelle verwandeln, die mit PHP-FPM interagiert.
Dies ist ein Omega-Alpha-Super-Beta-Proof-of-Concept, aber es führt bereits einige einfache Skripte aus. Meistens für meine Gespräche gemacht Node.js für PHP-Entwickler Dies stellt sich als ein ziemlich interessantes Projekt heraus, das wir höchstwahrscheinlich verwenden werden Orchester
wenn wir uns entscheiden, unsere zu veröffentlichen
Inline-PHP-Server das es Benutzern ermöglicht, PHP ohne Apache, Nginx oder einen anderen Webserver auszuführen.
Ja, das widerspricht allen Ideen und Konzepten von Node.js, aber die Idee ist, einen Webserver direkt aus jedem Arbeitsverzeichnis erstellen zu können, damit Entwickler noch schneller als zuvor loslegen können. Sie müssen keine vhosts oder Serverblöcke mehr erstellen oder Ihre /etc/hosts ändern.

Simon Rigét
Sie können PHP wie bei jedem Webserver ausführen, indem Sie das SPHP-Modul für Knoten verwenden.
Es ist kompatibel, aber nicht von Express abhängig.
Es unterstützt auch Websockets-Anfragen am HTTP-Port.
Es ist eher auf Geschwindigkeit bei geringer Last ausgerichtet als auf Ressourcenschonung.
In Knoten installieren:
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 etwas voreingenommen, weil ich der Autor bin 🙂

Andrej Sidorow
Sie können versuchen, den direkten Link-Knoten -> fastcgi -> php zu implementieren. In der vorherigen Antwort bedient nginx PHP-Anfragen unter Verwendung von http->fastcgi serialisation->unix socket->php und node-Anfragen als http->nginx reverse proxy->node http server.
Es scheint, dass node-fastcgi paser ist im Moment nutzbar, aber nur als Knoten-Fastcgi-Backend. Sie müssen es übernehmen, um es als Fastcgi-Client für den PHP-Fastcgi-Server zu verwenden.

Mick
Ein einfacher, schneller Ansatz wäre meiner meinung nach zu gebrauchen dnode-php dafür.
Sie können eine kurze Einführung sehen Hier. Einfach, schnell und einfach!
Wenn sich php im FPM-Modus befindet, könnte node-phpfpm eine Option sein, überprüfen Sie die Dokumentation https://www.npmjs.com/package/node-ppfpm
10016100cookie-checkFühren Sie PHP-Skripte innerhalb des Node.js-Webservers ausyes