NodeJS:与 PHP 集成

2024-01-04

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

但是当我使用时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 on localhost:3000,但是当我浏览该网站时,它不想显示该页面。相反,它会下载index.php file.

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

我知道有一些聪明的人可以立即解决这个问题。我自己坐了很长时间试图解决这个问题。


您可以使用php-express使用 Express 渲染 PHP 文件的包:

npm install --save php-express

然后用这个(确保您的机器上安装了 PHP):

服务器.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');
});

Source: https://www.npmjs.com/package/php-express https://www.npmjs.com/package/php-express

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NodeJS:与 PHP 集成 的相关文章

  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • 如何使用 Greasemonkey 监视静态 HTML 页面的更改?使用哈希?

    我希望我的 Greasemonkey 脚本仅在其访问的静态页面具有与以前完全相同的内容时运行 现在我可以设置一个包含该页面哈希的变量 我正在寻找一种动态散列页面的方法 以便我可以将我的散列与生成的散列进行比较 关于如何即时实现散列的任何想法
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • onclick 事件中未调用函数

    我想在每个 YouTube 链接的末尾添加一些 HTML 以在 litebox 中打开播放器 到目前为止 这是我的代码 document ready function var valid url new RegExp youtube com
  • 如何清除NPM的https代理设置?

    如何清除NPM之前的ssl代理设置 好吧 我搜索了很多 但我得到的所有帖子主要是关于如何set公司网络中的代理 我尝试将代理设置为空 npm config set http proxy npm config set https proxy
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • LeafleteachLayer函数不会迭代所有Layer

    使用 GeoJSON 数据数组创建一些标记 getJSON GetLocationsServlet function data L geoJSON data onEachFeature onEachFeature addTo mymap G
  • JavaScript eval("{}") 返回行为?

    根据ECMA 262 规范 http www ecma international org publications files ECMA ST Ecma 262 pdf 以下语句返回1 eval 1 eval 1 eval 1 var a
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht
  • 使用 Enzyme 测试 `React.createRef` api

    我想测试下面的类 它使用React createRef api 不过 快速搜索并没有发现任何这样做的例子 有人成功过吗 我该如何嘲笑裁判 理想情况下我想使用shallow class Main extends React Component
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中

随机推荐

  • 在图表上设置标签的 Vba 代码

    我在使用以下代码时遇到问题 Sub newC Dim ch As Chart Dim s As Series Dim objLabels As DataLabels Dim objLabel As DataLabel Range B65 I
  • 如何在选择项目时保持组合框打开

    我有一个 Windows 窗体自定义组合框 托管在 dataGridView 中 我不知道如何在用户选择项目时保持下拉列表打开 没有结束事件可以结束 有谁知道这是如何实现的 我将不胜感激任何建议 提前致谢 DA 您可以使用GetComboB
  • ElectronJS 生产应用程序中的安全数据库连接?

    我最近开始使用 NodeJS 和 ElectronJS 进行开发 以创建一些非常漂亮的跨平台软件 我想更进一步并集成一些数据库功能 虽然我知道有 mysql 软件包可供安装 但我对任何人都可以解压我的 asar app 文件并查看所有连接详
  • python 上的 keras 和张量流 - ValueError: ('NumpyArrayIterator` 中的输入数据应具有等级 4。您传递了一个具有形状的数组', (36848,))

    我也找过各种类似的问题 但没有找到正确的答案 寻找可以快速告诉我们答案的人 请 这是我的完整代码 我想用韩语创建像 Mnist 这样的机器学习模型 ValueError 输入数据NumpyArrayIterator应该有等级 4 您传递了一
  • 在不影响目标c质量的情况下缩小图像

    如何以编程方式缩小图像而不影响质量 捕获图像后 我想减小该图像的大小而不改变 Objective c 中的质量 这是我用来压缩图像的代码 Code UIImage compressImage UIImage image NSData img
  • 压缩包含许多重复文件的文件夹[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个相当大的文件夹 10GB 其中在整个目录树中包含许多重复的文件 其中许多文件重复了 10 次 重复的文件不是并排存在 而是位于不同
  • 如何通过 IntelliJ 运行/调试配置运行 wdio?

    我可以使用命令行运行测试 gt node modules bin wdio wdio conf js 但是 如果我尝试从 IntelliJ 的运行 调试配置运行它 我会收到各种不同的错误 功能文件或目录 path to my feature
  • WebView setDefaultZoom 已弃用

    这是设置webview默认缩放的代码 mWebView getSettings setDefaultZoom WebSettings ZoomDensity FAR 工作但老了 这setDefaultZoomvalue 已弃用 有人知道新代
  • 从另一个活动更改一个活动的背景

    示例 我有 3 个活动 活动 1 活动 2 和活动 3 Activity1 包含一个按钮 单击该按钮可以更改 Activity2 和 Activity3 的背景 这可能吗 如果是的话怎么办 我对使用该方法有一个想法 example for
  • 如果 rxjs 仍在加载数据,如何返回数据或等待

    我有一个服务 它使用 Observable 在其构造函数中加载一些数据 然后在稍后的某个时间可以使用 getter 检索数据 如果数据存在 它应该立即返回数据 或者等待加载完成 如果仍在进行中 我想出了以下示例 代码在 Typescript
  • R Shiny 应用程序中的“下一步”按钮

    我正在尝试使用 Shiny 构建一个逐步的应用程序 我的目标是创建一个由数据库中编写的一堆问题组成的考试 我需要的是一个 下一步 按钮 当您单击另一个问题时会显示该按钮 我一直在尝试使用 操作按钮 但它只是第一次起作用 也就是说 第一次单击
  • 从 C++11 中的 std::exception 派生时的异常规范

    我有一个异常类如下 include
  • Gridster 的替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我已经用过Gridster http gridster net 使用拖放多列网格的项目的库 遗憾的是
  • Angular HttpPromise:“success”/“error”方法和“then”参数之间的区别

    根据AngularJS 文档 http docs angularjs org api ng 24http 调用 http返回以下内容 返回一个promise符合标准的对象then方法和两个http具体方法 success and error
  • 如何自定义条形注释以不显示所选值

    我有以下数据集 data 6 92 1 78 0 0 0 0 3 5 8 82 3 06 0 0 0 0 5 54 10 8 6 03 0 0 0 0 6 8 13 69 8 61 9 98 0 0 9 42 4 91 3 54 2 62
  • Rails 生成迁移未将 :null => false 设置为created_at 和updated_at

    我创建了一个全新的 Rails 应用程序 生成一些脚手架和一些模型 经过几次测试后 我意识到 t timestamps 生成的列不包含 传统 null gt false 选项 我需要这种行为 我看不出这是做什么的 我重新创建了一个新应用程序
  • 自定义列的 ExecuteStoreQuery

    我正在尝试运行自定义查询并且正在使用实体框架 我尝试了这个 string query SELECT dm DistrictName sm SchoolName u UserId u FirstName u LastName sa Stude
  • 用于识别 2D 特征的图像处理

    我创建了一个 iPhone 应用程序 它可以扫描一张方格纸的图像 然后告诉我哪些方块已被涂黑 哪些方块是空白的 我通过从左到右扫描并使用方格纸的线条作为指导来完成此操作 当我遇到方格纸线时 我开始寻找黑色 直到再次碰到方格纸线 然后 我不再
  • 随机数生成器的实现[重复]

    这个问题在这里已经有答案了 可能的重复 随机数生成器如何工作 https stackoverflow com questions 1716308 how does a random number generator work 我正在寻找 C
  • NodeJS:与 PHP 集成

    我听说 Node JS 非常适合制作实时聊天应用程序 我想在我的网站上实现聊天 现在我只有设计 所以我现在必须编写后端代码 但是当我使用时socket io express它并没有像它应该的那样工作 代码来自server js var ap