【发布时间】:2010-10-10 19:58:53
【问题描述】:
我正在考虑使用 PHP 后端实现实时聊天,但我在一个讨论彗星的网站上看到了这条评论:
我的理解是 PHP 是一个 彗星的可怕语言,因为 Comet 要求你保持一个 对每个人开放的持久连接 浏览器客户端。使用 mod_php 这个 意味着捆绑一个 Apache 孩子 全职为每个客户 根本无法扩展。我的人 知道做彗星的东西大多是 使用设计的 Twisted Python 处理成百上千的 同时连接。
这是真的吗?或者它是可以配置的?
【问题讨论】:
-
你可以将php作为fastcgi运行...
-
使用nodeJS作为服务器来保持客户端连接,javascript中的websockets从浏览器连接到服务器。从这个意义上说,PHP 可以是一个特权客户端,它将连接到 nodejs,推送一些将在客户端以某种方式处理的服务数据。
-
@ArtjomKurapov 你可以将 PHP 变成一个 Web 服务器,从而绕过 Apache 处理请求的方法 - 把它想象成一个真正的 PHP 服务器处理彗星请求只。
-
@Christian 如果您的意思是自 5.4 以来内置 php 网络服务器,那么它仅用于开发并在生产中使用它是一个坏主意
-
@ArtjomKurapov 不,我的意思是编写一个真正的 PHP 服务器,通过使用 PHP 套接字来监听端口 80 并无限期地阻止输入 - 有效地服务器如何工作。这可以在 phpwebsocket 等项目中看到。