在节点上加载php文件

时间:2014-07-31 08:34:07

标签: javascript php node.js

您好我正在尝试使用socket.io,express.io和node.js开发聊天系统,一切顺利,我一直在关注他们的文档。

问题是,一旦我尝试将设计集成到我开发的骨架应用程序中,它就无法正确加载。它只给我一个弹出窗口,通知我下载或打开PHP文件。

这是我的index.js

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
  res.sendfile('message.php');
});

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
    console.log('message: ' + msg);
  });
});

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
    io.emit('chat message', msg);
  });
});
http.listen(3000, function(){
  console.log('listening on *:3000');
});

我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

socket.io sendfile只会将文件内容发送给客户端。如果您将PHP脚本或图像文件提供给sendfile,则无关紧要。它也是如此。

如果要执行PHP脚本,可以执行以下操作之一:

  • 运行一个单独的Web服务器来解释PHP,然后从Node.js连接到该服务器,如this answer中所述。
  • 使用child_process运行PHP解释器,然后将该进程的标准输出发送给客户端。