NodeJS:与PHP集成

时间:2017-06-04 13:21:04

标签: javascript php node.js express socket.io

我听说NodeJS非常适合制作实时聊天应用程序,我想在我的网站上实现聊天。现在我只有设计,所以我现在必须制作后端代码。

然而,当我使用socket.io + express时,它无法正常运行。

来自server.js的代码:

var app = require('express')();
var http = require('http').Server(app);

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.php');
});

http.listen(3000, function(){
    console.log('listening on *:3000');
});

我只想在index.php上显示localhost:3000,但是当我浏览网站时,它不想显示该页面。而是下载index.php文件。

但是如果我将文件的扩展名更改为html,那么它就变成了index.html,它就可以了。但这不是我想要的。

我知道有一些聪明的人可以立即解决这个问题。我已经坐了很长时间,试图抚慰它。

The website

1 个答案:

答案 0 :(得分:2)

您可以使用php-express包来使用Express:

呈现PHP文件
npm install --save php-express

然后使用此(确保在您的计算机上安装了PHP)

server.js

var express = require('express');
var app = express();

var phpExpress = require('php-express')({
  binPath: 'php'
});

// set view engine to php-express
app.set('views', './views');
app.engine('php', phpExpress.engine);
app.set('view engine', 'php');

// routing all .php file to php-express
app.all(/.+\.php$/, phpExpress.router);

var server = app.listen(3000, function () {
  console.log('listening on *:3000');
});

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