php node.js

Ejecutar scripts PHP dentro del servidor web Node.js



(10)

¿Qué pasos son necesarios para que el servidor web Node.js funcione como Apache ejecutando scripts PHP? ¿Alguna forma de integrar PHP dentro de Node.js?

Nota: no quiero ejecutar scripts PHP directamente dentro de Node.js, sino que "enrutaré" a través de una instancia de Apache o algo similar.



Eche un vistazo aquí: https://github.com/davidcoallier/node-php

De su me leyeron:

Servidor PHP en línea ejecutándose en Node.js

Preocúpese, esté muy preocupado. El nombre NodePHP toma su nombre del hecho de que estamos convirtiendo efectivamente un buen servidor Node.js en una interfaz FastCGI que interactúa con PHP-FPM.

Esta es omega-alpha-super-beta-proof-of-concept, pero ya ejecuta algunos scripts simples. Hecho principalmente para mis charlas sobre Node.js para desarrolladores de PHP, este es un proyecto bastante interesante que probablemente utilizaremos con Orchestra cuando decidimos lanzar nuestro servidor PHP en línea que permite a las personas ejecutar PHP sin Apache, Nginx o cualquier servidor web.

Sí, esto va en contra de todas las ideas y conceptos de Node.js, pero la idea es poder crear un servidor web directamente desde cualquier directorio de trabajo para permitir que los desarrolladores se pongan en marcha incluso más rápido de lo que era antes. Ya no es necesario crear vhosts o bloques de servidores para modificar sus / etc / hosts.



Puede ejecutar PHP como con cualquier servidor web, utilizando el módulo SPHP para el nodo.
Es compatible pero no depende de express.
También admite solicitudes de websockets en el puerto HTTP.
Está predispuesto a la velocidad bajo una carga pequeña, en lugar de ahorrar recursos.

Para instalar en el nodo:

npm install sphp

en tu aplicación:

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/''));

Para obtener más información, consulte https://github.com/paragi/sphp

También soy un poco parcial porque soy el autor :)


Puede intentar implementar el nodo de enlace directo -> fastcgi -> php. En la respuesta anterior, nginx sirve solicitudes php utilizando http-> fastcgi serialización-> unix socket-> php y solicitudes de nodos como http-> nginx reverse proxy-> node servidor http.

Parece que node-fastcgi paser es utilizable en este momento, pero solo como un nodo fastcgi backend. Debe adoptarlo para usarlo como un cliente fastcgi para php fastcgi server.





Tenía la misma pregunta. Intenté invocar php a través de la interfaz de shell, y produjo el resultado deseado:

var exec = require("child_process").exec; app.get(''/'', function(req, res){exec("php index.php", function (error, stdout, stderr) {res.send(stdout);});});

Estoy seguro de que esto no ocupa un lugar destacado en la lista de prácticas recomendadas, pero pareció hacer lo que yo quería. Si, por otro lado, no desea ejecutar scripts PHP directamente desde Node.js, pero desea retransmitirlos desde otro servidor web que sí lo haga, esto parece ser el truco:

var exec = require("child_process").exec; app.get(''/'', function(req, res){exec("wget -q -O - http://localhost/", function (error, stdout, stderr) {res.send(stdout);});});


Un enfoque simple y rápido en mi opinión sería usar dnode-php para eso.

Puedes ver una breve introducción here . Simple, rápido y fácil!