【问题标题】:nodejs, expressjs serving PHP filesnodejs, expressjs 提供 PHP 文件
【发布时间】:2011-10-13 18:58:22
【问题描述】:

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

我注意到一些节点应用程序在其客户端使用 PHP 进行 Twitter 身份验证。当我尝试将我的 client.html 文件重命名为 client.php 并重新启动服务器时,它会抛出一个空白页

Cannot GET /

如何提供 php 文件,或者我会使用 js 自动执行 Twitter 吗?

这是我的 NodeJS server.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");

【问题讨论】:

  • node.js 不是 PHP 解释器。如果你认为你可以用 .php 重命名文件并且它会神奇地被执行,你没有考虑过这个......

标签: node.js webclient express socket.io


【解决方案1】:

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

  • 在节点前面有 nginx 并反向代理您要在节点中处理的所有请求
  • 从节点到支持 php 的服务器的代理 php 请求
  • 在节点中的每个请求上生成 php 进程
  • 使用node fastcgi protocol parser 将fastcgi 链接到php-fastcgi

【讨论】:

    【解决方案2】:

    嗯,完全跳过 PHP 并将 everyauth 集成到您的应用中。

    【讨论】:

      【解决方案3】:

      PHP-EXPRESS 应该可以。只需安装软件包并按照文档进行操作即可。

      https://www.npmjs.com/package/php-express

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-20
        • 2015-03-01
        • 1970-01-01
        • 2014-11-08
        • 1970-01-01
        • 1970-01-01
        • 2020-09-25
        • 2017-11-24
        相关资源
        最近更新 更多