【问题标题】:Change index.html to index.php returns "save binary file"将 index.html 更改为 index.php 返回“保存二进制文件”
【发布时间】:2016-05-22 10:47:05
【问题描述】:

将文件扩展名从 .html 更改为 .php 时遇到问题。我需要 .php 扩展名,因为 我想将聊天中的消息保存到数据库,这就是我需要 .php 扩展名的原因。当我将文件 index.html 重命名为 index.php 并在 res.sendFile() 方法中更改它时,浏览器将返回类似 “您正在尝试保存二进制文件。您要保存它吗? "。当然我在apache服务器上运行它。我的操作系统是 Ubuntu。我是 nodejs 和 socket.io 的新手,所以这可能是一个愚蠢的问题。 Express 和 Socket.io 也安装成功。我附上我的代码:

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

其他一切正常。

【问题讨论】:

  • 所以你说你使用的是node.js,通过node.js你不能使用php...你能提供更多关于你的设置的信息吗?
  • 当我想路由到我的主页 index.php 它返回上面写的错误。当它是 index.html 时就可以了。是你想要的吗?

标签: php node.js socket.io


【解决方案1】:

Node.js 只支持 JavaScript,但你可以使用 node-php 来运行带有 node js 的 php: https://github.com/mkschreder/node-php

NODEJS

var express = require('express');
var php = require("node-php"); 
var path = require("path"); 

var app = express();

app.use("/", php.cgi("/path/to/wordpress")); 

app.listen(9090);

console.log("Server listening!");

【讨论】:

  • 对我不起作用。它返回:{ [Error: spawn php-cgi ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn php-cgi', path: 'php-cgi', spawnargs: [] } 但是谢谢回答。
  • 对这个问题的不必要的回答,没有任何效果,而且一团糟试试这个代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-19
  • 2014-01-16
  • 1970-01-01
  • 2012-12-20
  • 1970-01-01
相关资源
最近更新 更多