如何在MAMP或XAMPP上安装用于PHP的Ratchet WebSockets?

5

我正在尝试将实时聊天集成到我的php / backbone应用程序中,我想使用ratchet? 我需要做什么才能在MAMP或XAMPP中安装Ratchet? 他们网站上唯一提供的文档是使用CURL,但我不知道如何安装本地主机所需的资源,也不知道这些资源需要添加到哪里。任何建议都将不胜感激。


Ratchet 可以监听任何端口。但是,如果您想在与 Web 服务器相同的端口上运行它(您确实想这样做),那么这意味着您可以享受代理服务器的强大功能!为什么?因为 Web 服务器已经在相关端口上进行了监听。更大的问题是,由于其本质,php 依赖于在其前面部署的 Web 服务器。尽管如此,您不需要运行 Web 服务器即可启动 Ratchet。您可以使用任何喜欢的端口测试。只需记住,在生产中使用它,您将需要一个代理,因为 ws:// 和 wss:// 需要 在 80/443 上运行。 - user895378
2个回答

5

您应该在项目的根目录中安装composer.phar。

如果您使用的是Linux操作系统,只需运行命令curl -s https://getcomposer.org/installer | php即可。否则,您可以从curl下载页面使用Windows安装程序进行安装。

安装完Composer后,您需要创建一个'composer.json'文件,并将所有项目所需的依赖项添加到其中。如果您只需要Ratchet,请将以下内容粘贴到json文件中:

{
    "require": {
        "cboden/Ratchet": "0.2.*"
    }
}

完成上述操作后,返回终端并执行命令php composer.phar install

这将在新创建的“vendor”文件夹中安装Ratchet及其依赖项。

现在,您可以通过以下方式在php文件中包含Ratchet:

require __DIR__ . '/vendor/autoload.php';

我想这就是全部了!


我已经手动下载了composer.phar。我在一个不允许运行命令提示符的Web服务器上,还有哪些其他方法可以使用Ratchet? - Pacerier
你应该在本地运行composer install,然后将生成的 vendor 文件夹上传到远程主机。 - Ingro
是的,但是在我本地获取了所有文件之后,我仍然需要在公共服务器上启动websocket服务器。如果没有终端访问权限,我该如何启动服务器? - Pacerier
你可以将所需的命令放在一个 PHP 文件中,并通过浏览器或从您的机器使用 cURL 访问该页面。但是,如果 WebSocket 服务器崩溃,您将不得不手动重新启动它,因此这只适用于测试或学习目的,对于真正的产品,您需要更可管理的托管服务。 - Ingro
这是不可能的,如果通过php调用,本地命令当然会被禁用。 - Pacerier

0

cURL在MAMP和XAMPP中默认启用,而MAMP和XAMPP只是提供PHP的Web服务器+数据库服务器。您可以像部署到实际Web服务器一样安装Ratchet WebSockets。

但请确保调用正确的php可执行文件,而不是计算机/服务器上可能安装的文件。

参见:http://socketo.me/docs/install


好的,我理解cURL默认是启用的,但这是否意味着我只需打开一个PHP文件,添加curl -s https://getcomposer.org/installer | php以获取Composer,然后运行页面?这样会获取我所需要的依赖项吗?我真的对这种东西一无所知,需要一些帮助。我通过终端在我的Web服务器上安装了它,但我不知道如何在本地执行此操作。 - Jason Biondo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接