0

我想开始一个使用 websockets 进行自定义聊天的项目。当然,我已经有一个简单的 PHP + MySQL 服务器,我想从这个开始。所以我发现了这个:https ://github.com/Flynsarmy/PHPWebSocket-Chat

在 php.ini 之上运行 websocket 服务器。在我的本地(Mac)机器上,它已经在运行了。但我不知道如何在服务器上启动这个脚本。因为我没有任何 Shell 访问权限?

这是我正在使用的服务器: http ://www.1blu.de/webhosting/homepagepakete/power/

谢谢你的帮助!

菲利克斯

4

2 回答 2

1

您将需要 shell 访问权限。与您的托管服务联系并询问他们是否提供 shell 访问权限(尽管他们似乎不允许这样做,或者他们可能会提前说)。如果没有,您将不得不寻找新的服务。

于 2013-02-21T09:31:01.983 回答
0

WebSocket 是一种使用自定义协议将初始的符合 HTTP 的连接转换为全双工套接字的协议。

有两种方法可以做到这一点。选项 1 是使用像 Apache 这样的标准 HTTP 服务器来接受初始 HTTP 连接。然后,您可以使用此 HTTP 服务器中的 Websocket 支持从业务代码升级到 Websocket。这是在 Tomcat 或 JBoss 等服务器中完成的。

选项 2 是打开您自己的服务器套接字,本质上是从 PHP 中创建您自己的 HTTP 服务器。您自己实现了一个非常有限的 HTTP 子集,并尝试将每个连接升级到 WebSocket。这就是 PHPWebsocket 库所做的。

选项 1 与 PHP 不兼容。每个网络服务器都使用 PHP 来生成 HTML 内容。目前没有任何网络服务器支持将当前的 HTTP 连接升级到 Websocket。

选项 2 与 GoDaddy 或 1Blu 等托管服务提供商不兼容。这没有任何意义:您正在尝试实现自己的网络服务器,但这些机器上已经有一个网络服务器在运行!

长话短说:只要 Apache 中不存在可以将控制权转发给 PHP 的本机 WebSocket 支持,您就会陷入困境。有关解决问题的不同方法,请参阅websockets apache 服务器兼容性

于 2013-02-21T09:34:27.700 回答