Node.js和Express.js服务PHP文件

5

好的,我一直在使用nodejs、expressjs和socket.io来创建一些应用程序。但现在我想进一步发展。

我注意到一些node应用程序在客户端使用PHP进行Twitter身份验证。当我试图将我的client.html文件重命名为client.php并重新启动服务器时,会出现一个空白页面,内容如下:

Cannot GET /

如何提供php文件或使用js自动推特?

这是我的NodeJS服务器.js文件。

var http = require('http'),  
    express = require('express');

var app = module.exports = express.createServer();

// Configuration
app.configure(function(){
    app.use(express.static(__dirname + '/public'));
});

app.listen(1234);
console.log("server started on port :1234");

5
Node.js 不是 PHP 解释器。如果你认为只需将文件重命名为 .php,它就能像魔术一样被执行,那么你想得太简单了... - Dan Grossman
3个回答

7

如前所述,node.js本身不会为您解释php文件。可用的选项包括:

  • 在node前面使用nginx,并将要处理的所有请求从nginx反向代理到node
  • 将php请求从node代理到支持php的服务器
  • 在每个请求中在node中生成php进程
  • 使用node fastcgi协议解析器创建与php-fastcgi的快速cgi链接

3

如果可以的话,完全跳过PHP并将everyauth集成到您的应用程序中。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接