[英]How to connect to index.php file with Express and Node.js
我想创建一个实时应用程序,但我是 Node.js、Express 和 Socket.io 的新手。 我想用 Express 连接到一个名为index.php
的文件。 不幸的是,我看到 Express 默认连接到一个名为index.html
的文件。
这是我的index.js文件的一部分:
var express = require('express');
var socket = require('socket.io');
var app = express();
//App setup
var server = app.listen(4000, function() {
console.log('listening on requests on port 4000');
});
//Static files
app.use(express.static('public'));
//Socket setup
var io = socket(server);
这是我的索引。html :
<!DOCTYPE html>
<html>
<head>
<title>Socket Sender</title>
<script src="https://cdn.socket.io/3.1.1/socket.io.min.js" integrity="sha384-gDaozqUvc4HTgo8iZjwth73C6dDDeOJsAgpxBcMpZYztUfjHXpzrpdrHRdVp8ySO" crossorigin="anonymous"></script>
</head>
<body onload="redirect()">
<button id="send">Send</button>
<div id="table_container">
</div>
<script language=javascript>
function redirect(){
window.location = "index.php";
}
</script>
<!--<script src="/receiver.js"></script>-->
</body>
</html>
如您所见,我使用了一种解决方法来连接到 php 文件。 所以index.html
应该重定向到index.php
但由于某种原因,浏览器只下载index.php
并且不呈现该文件。
可以帮忙?
乔米歇尔,
您可以尝试使用 NodeJS 的 PHP 解释器,它称为 php-express。 所以,首先需要安装它:
npm install php-express
比您的项目结构必须是:
./ index.js
--/public/index.html // <--- html file for redirect
--/views/index.php // <--- your php file
index.js
var express = require('express');
var socket = require('socket.io');
var phpExpress = require('php-express')({
binPath: 'php'
});
var app = express();
//App setup
var server = app.listen(4000, function() {
console.log('listening on requests on port 4000');
});
app.engine('php', phpExpress.engine);
app.all(/.+\.php$/, phpExpress.router);
//Static files
app.use(express.static('public'));
//Socket setup
var io = socket(server);
window.location
您的索引示例.html
<!DOCTYPE html>
<html>
<head>
<title>Socket Sender</title>
<script src="https://cdn.socket.io/3.1.1/socket.io.min.js" integrity="sha384-gDaozqUvc4HTgo8iZjwth73C6dDDeOJsAgpxBcMpZYztUfjHXpzrpdrHRdVp8ySO" crossorigin="anonymous"></script>
</head>
<body onload="redirect()">
<button id="send">Send</button>
<div id="table_container">
</div>
<script language=javascript>
function redirect(){
window.location.href = 'index.php';
}
</script>
<!--<script src="/receiver.js"></script>-->
</body>
</html>
比您的index.php
文件的示例
<?php
echo "Hello World";
?>
最后运行您的 express web 服务器:
node index.js
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.