Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 适用于站点内web聊天应用程序的正确工具_Php_Node.js_Knockout.js_Websocket_Socket.io - Fatal编程技术网

Php 适用于站点内web聊天应用程序的正确工具

Php 适用于站点内web聊天应用程序的正确工具,php,node.js,knockout.js,websocket,socket.io,Php,Node.js,Knockout.js,Websocket,Socket.io,我正在创建实时聊天应用程序,它应该是我网站的一部分。网站是完全使用PHP开发的。现在的问题是,对于将成为我网站一部分的实时聊天应用平台,什么样的工具才是最合适的呢。它应该使用我网站上的用户,并与它所属的PHP应用程序共享会话 我做了一些研究,正如我所想,PHP+Apache并不像我的live chat那样是开发基于web套接字的应用程序的最佳工具。像Node.js这样的其他平台看起来是正确的选择,但我不确定让Node与我的PHP应用程序共享资源有多容易 我很感兴趣,在这种情况下你会用什么方法?您

我正在创建实时聊天应用程序,它应该是我网站的一部分。网站是完全使用PHP开发的。现在的问题是,对于将成为我网站一部分的实时聊天应用平台,什么样的工具才是最合适的呢。它应该使用我网站上的用户,并与它所属的PHP应用程序共享会话

我做了一些研究,正如我所想,PHP+Apache并不像我的live chat那样是开发基于web套接字的应用程序的最佳工具。像Node.js这样的其他平台看起来是正确的选择,但我不确定让Node与我的PHP应用程序共享资源有多容易

我很感兴趣,在这种情况下你会用什么方法?您将实施什么样的系统架构

最后,我想告诉你,我的PHP网站是基于MySQL的,我正在使用knockoutJS进行客户端实现。它将在客户端使用SocketIO,因为它采用了回退策略并支持非HTML5浏览器。我知道它也可以在服务器端使用,但我怀疑它是否与Node或我目前未知的其他解决方案有关。这就是我在这里问这个问题的主要原因。它在共享主机上运行的可能性很小,但我完全理解共享主机和套接字连接的问题(关闭端口,没有SSH安装节点等)。如果你有关于这种可能性的建议,写下来。否则就忘了它,然后像在VPS上运行一样回答


谢谢。

如果您计划使用node.js,那么有一些解决方案可以帮助您将node.js集成到现有的php环境中。(例如)Node不能很好地与apache配合使用,因此您可能需要考虑切换到Nginx和PHP fpm

就我个人而言,让这个运行“良好”,这对于一个简单的“聊天”应用程序来说是一个很大的改变。我可能会考虑集成一个已经开发的解决方案。或者,如果我想让它更个性化一点,我会在一个单独的平台上构建一些使用现有架构的东西。这是一项非常棒的服务,刚刚推出,看起来它会完美地满足您的需求。如果这对您的用户来说是一个很好的解决方案,那么我将在Node.JS中实现一些定制的内置功能

内部解决方案将从评估服务器需求开始。您希望有多少并发连接?您是否可以控制低级操作系统功能。开放套接字和开放文件限制似乎是共享托管计划的主要限制因素。因此,您可能需要评估不同的托管计划。Node&PHP的一个好PaaS解决方案是。Appfog最多可免费提供2gb和10个实例,这可能有助于您入门。如果你想要完全控制,我建议你安装一个专用服务器,或者类似亚马逊AWS的东西

然后,您需要评估您的体系结构。正如我所说,Nginx在如何为PHP和node.js提供服务方面做得非常好,但是还有更多的选项可以更好地满足您的需要

查看和开始学习的好地方是的源代码。这是一个非常好的开源聊天工具,它利用了redis,这是PHP和node.js之间会话管理的通用解决方案。最重要的是,您可以在AppFog上构建源代码,并在几分钟内测试出一些内部解决方案和代码,而无需任何费用


祝你好运

谢谢你的回答。我看了Ballons.io,它看起来会起作用。对于共享会话,我将尝试使用您共享的关于PHP会话处理程序的链接。