2017-06-04 69 views
0

我聽說NodeJS非常適合製作實時聊天應用程序,我想在我的網站上實現聊天。現在我只有設計,所以我必須現在製作後端代碼。NodeJS:與PHP集成

但是,當我使用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'); 
}); 

我只是想顯示在localhost:3000index.php,但是當我瀏覽的網站不希望顯示的頁面。而是下載index.php文件。

但是,如果我將文件的擴展名更改爲html,所以它變成index.html,它的工作原理。但那不是我想要的。

我知道那裏有一些聰明人可以很快解決這個問題。我一直在坐着很長一段時間自己試圖解決它。

The website

+0

在[所以]你應該嘗試**自己寫代碼**。後** [做更多的研究](//meta.stackoverflow.com/questions/261592)**如果你有問題,你可以**發佈你已經嘗試**與清楚的解釋是什麼是'工作**並提供[** Minimal,Complete和Verifiable示例**](// stackoverflow.com/help/mcve)。我建議閱讀[問]一個好問題和[完美問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。另外,一定要參加[遊覽]並閱讀[this](// meta.stackoverflow.com/questions/347937/)**。 –

+0

我已經發布了這個來學習,而不是讓別人爲我做。 –

+1

不幸的是,這是不允許的。這不是教程網站,谷歌或手冊。這對於編寫了一些代碼並需要幫助的開發人員來說,它理解爲什麼它不能按預期工作。 –

回答

2

可以使用php-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