Node-php是一个npm包: https://www.npmjs.com/package/node-php#nodephp---run-wordpress-and-other-php-scripts-with-node
我的问题:到目前为止,我只需要为我的网页提供静态html文件,这些文件已经发送好了。
但是,现在我想提供一个php文件。如果我只是尝试像静态文件一样发送一个弹出窗口来保存文件而不是显示它。所以我设置了node-php,声称能够正确传递php文件。但是,它不起作用。
How the webpage looks with the below code, going to either the html page or the php page
无论是帮助使node-php工作,还是其他方法来解决这个问题都很受欢迎。
var express = require('express');
var php = require("node-php"); //Required by node-php
var path = require("path"); //Required by node-php
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.use("/", php.cgi("/usr/bin/php")); //Required by node-php
//LISTEN
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 8080);
app.set('ip', process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1');
http.listen(app.get('port'), app.get('ip'), function () {
console.log('LISTENING!');
});
app.use(express.static('public'));
//SEND FILES
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
app.get('/phpfile', function (req, res) {
res.sendFile(__dirname + '/phpfile.php');
});
答案 0 :(得分:0)
传递给php.cgi()
的参数应该是您的PHP根目录(PHP文件所在的位置),而不是PHP二进制文件的路径。
答案 1 :(得分:0)
以防万一你只需要一个服务器节点并且需要围绕一个节点 + php 应用程序构建我在这里放了一个方法 https://stackoverflow.com/a/68422021/5781320 不涉及这个插件(node-php)。所以基本上你可以使用节点服务器并从特定页面获取帖子(您可以改进 node.js 部分,cause it
只是一个原型)