要让Node.js Web服务器像Apache一样执行PHP脚本,需要执行哪些步骤?有没有办法将PHP集成到Node.js中?
注意:我不想直接在Node.js中执行PHP脚本,而是通过一个Apache示例或类似的东西“发送”。
e5nqia271#
我也有同样的问题。我尝试通过外壳接口调用php,它产生了预期的结果:
var exec = require("child_process").exec; app.get('/', function(req, res){exec("php index.php", function (error, stdout, stderr) {res.send(stdout);});});
我肯定这在推荐实践列表中不是很高,但它似乎做了我想要的事情。另一方面,如果您不想直接从Node.js执行PHP脚本,但想要从另一个执行这些脚本的Web服务器转发它们,这似乎可以做到这一点:
var exec = require("child_process").exec; app.get('/', function(req, res){exec("wget -q -O - http://localhost/", function (error, stdout, stderr) {res.send(stdout);});});
cnwbcb6i2#
Node.js仅支持JavaScript。下面是一个教程,介绍如何在Node.js的支持下运行PHP。
http://blog.mixu.net/2011/01/04/nginx-php-fpm-and-node-js-install-on-centos-5-5/
4xrmg8kj3#
使用NODE的SPHP模块,您可以像运行任何Web服务器一样运行PHP。它是兼容的,但不依赖于Express。它还支持HTTP端口上的WebSockets请求。它偏重于在小负载下的速度,而不是节省资源。
要在节点中安装,请执行以下操作:
npm install sphp
在你的应用程序中:
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/'));
有关更多信息,请查看https://github.com/paragi/sphp
我也有一点偏见,因为我是作者:)
wpx232ag4#
看看这里:https://github.com/davidcoallier/node-php
来自他们的Read Me:
要担心,要非常担心。NodePHP的名字来源于这样一个事实,即我们实际上是将一个很好的Node.js服务器变成了一个与PHP-fpm交互的FastCGI接口。
这是omega-Alpha-Super-beta概念验证,但它已经运行了几个简单的脚本。这是一个相当有趣的项目,当我们决定发布我们的内联PHP服务器时,我们很可能会使用Orchestra,它允许人们在没有Apache、Nginx或任何Web服务器的情况下运行PHP。
是的,这违背了Node.js的所有想法和概念,但其想法是能够直接从任何工作目录创建一个Web服务器,使开发人员能够比以前更快地开始工作。不再需要创建vhost或服务器块,也不再需要修改/etc/host。
7qhs6swi5#
您可以尝试实现直连节点->fast cgi->php。在前面的回答中,nginx使用http->fast cgi Serialization->Unix Socket->php来处理php请求,并将节点请求作为http->nginx反向代理->node http服务器。
node-fastcgi paser目前似乎可以使用,但只能作为节点fast cgi后端使用。您需要采用它作为php fast cgi服务器的fast cgi客户端。
nsc4cvqm6#
一种简单、快速的方法在我看来,就是使用dnode-php。
您可以看到here的简要介绍。简单、快速、轻松!
wswtfjt77#
如果php处于fpm模式node-phpfpm可以是一个选项,请查看文档https://www.npmjs.com/package/node-phpfpm
rqqzpn5f8#
您可以使用node-php对节点js:https://github.com/mkschreder/node-php运行php
ioekq8ef9#
您可以使用NODE WASS:https://github.com/paragi/was直接提供PHP
vx6bjr1n10#
您必须 checkout node-php-fpm。
node-php-fpm
10条答案
按热度按时间e5nqia271#
我也有同样的问题。我尝试通过外壳接口调用php,它产生了预期的结果:
我肯定这在推荐实践列表中不是很高,但它似乎做了我想要的事情。另一方面,如果您不想直接从Node.js执行PHP脚本,但想要从另一个执行这些脚本的Web服务器转发它们,这似乎可以做到这一点:
cnwbcb6i2#
Node.js仅支持JavaScript。下面是一个教程,介绍如何在Node.js的支持下运行PHP。
http://blog.mixu.net/2011/01/04/nginx-php-fpm-and-node-js-install-on-centos-5-5/
4xrmg8kj3#
使用NODE的SPHP模块,您可以像运行任何Web服务器一样运行PHP。
它是兼容的,但不依赖于Express。
它还支持HTTP端口上的WebSockets请求。
它偏重于在小负载下的速度,而不是节省资源。
要在节点中安装,请执行以下操作:
在你的应用程序中:
有关更多信息,请查看https://github.com/paragi/sphp
我也有一点偏见,因为我是作者:)
wpx232ag4#
看看这里:https://github.com/davidcoallier/node-php
来自他们的Read Me:
Node.js上运行的内联PHP服务器
要担心,要非常担心。NodePHP的名字来源于这样一个事实,即我们实际上是将一个很好的Node.js服务器变成了一个与PHP-fpm交互的FastCGI接口。
这是omega-Alpha-Super-beta概念验证,但它已经运行了几个简单的脚本。这是一个相当有趣的项目,当我们决定发布我们的内联PHP服务器时,我们很可能会使用Orchestra,它允许人们在没有Apache、Nginx或任何Web服务器的情况下运行PHP。
是的,这违背了Node.js的所有想法和概念,但其想法是能够直接从任何工作目录创建一个Web服务器,使开发人员能够比以前更快地开始工作。不再需要创建vhost或服务器块,也不再需要修改/etc/host。
7qhs6swi5#
您可以尝试实现直连节点->fast cgi->php。在前面的回答中,nginx使用http->fast cgi Serialization->Unix Socket->php来处理php请求,并将节点请求作为http->nginx反向代理->node http服务器。
node-fastcgi paser目前似乎可以使用,但只能作为节点fast cgi后端使用。您需要采用它作为php fast cgi服务器的fast cgi客户端。
nsc4cvqm6#
一种简单、快速的方法在我看来,就是使用dnode-php。
您可以看到here的简要介绍。简单、快速、轻松!
wswtfjt77#
如果php处于fpm模式node-phpfpm可以是一个选项,请查看文档https://www.npmjs.com/package/node-phpfpm
rqqzpn5f8#
您可以使用node-php对节点js:https://github.com/mkschreder/node-php运行php
ioekq8ef9#
您可以使用NODE WASS:https://github.com/paragi/was直接提供PHP
vx6bjr1n10#
您必须 checkout
node-php-fpm
。