如何在 MAMP 或 XAMPP 上安装 Ratchet WebSockets for PHP?
Posted
技术标签:
【中文标题】如何在 MAMP 或 XAMPP 上安装 Ratchet WebSockets for PHP?【英文标题】:How do I install Ratchet WebSockets for PHP on MAMP or XAMPP? 【发布时间】:2013-02-23 13:05:57 【问题描述】:我正在尝试将实时聊天集成到我的 php / 主干应用程序中,我认为我会使用棘轮?我需要做什么才能将 Ratchet 安装到 MAMP 或 XAMPP 中?他们网站上提供的唯一文档是使用 CURL,但我不知道如何为 localhost 安装必要的资源,也不知道这些资源需要添加到哪里。任何意见,将不胜感激。
【问题讨论】:
Ratchet 可以监听任何端口。但是,如果您想在与您的网络服务器相同的端口上运行它(并且您确实这样做了),这意味着您可以享受代理服务器的强大功能!为什么?因为网络服务器已经在监听相关端口。更大的问题是 php 本质上依赖于部署在它前面的网络服务器。也就是说,您不需要运行网络服务器来启动 Ratchet。您可以使用在您喜欢的任何端口上运行的 Ratchet 服务器进行完美测试。请记住,要在生产环境中使用它,您需要一个代理,例如 ws:// 和 wss:// 需要 才能在 80/443 上运行。 【参考方案1】:您应该将 composer.phar 安装在项目的根目录中。
如果您使用的是 linux,您可以简单地运行命令 curl -s https://getcomposer.org/installer | php
,否则您可以使用来自 curl's download page 的 Windows 安装程序
安装 composer 后,您必须创建一个“composer.json”文件,您将在其中添加项目所需的所有依赖项。如果您只需要 Ratchet,只需将其粘贴到您的 json 文件中:
"require":
"cboden/Ratchet": "0.2.*"
完成后,返回终端并运行命令php composer.phar install
。
这将在新创建的“供应商”文件夹中安装 Ratchet 及其依赖项。
现在您可以通过这种方式将 Rathet 包含在您的 php 文件中:
require __DIR__ . '/vendor/autoload.php';
这就是我的想法!
【讨论】:
我已经手动下载了 composer.phar 。我在一个不允许运行命令提示符的 Web 服务器上,还有哪些其他方法可以使用 Ratchet? 您应该在本地运行 composer install 然后将生成的供应商文件夹上传到您的远程主机。 是的,但是当我在本地获取所有文件后,我仍然需要在公共服务器上启动 websocket 服务器。如何在不访问终端的情况下启动服务器? 您可以简单地将所需的命令放入 php 文件中,然后使用浏览器或机器上的 cURL 访问该页面,无论如何,如果 websocket 服务器崩溃,您将不得不手动重新启动它,所以这对于测试或学习目的来说是理想的,对于一个真正的产品,我猜你需要一个更易于管理的主机。 不可能,本地命令如果通过php调用当然是禁用的。【参考方案2】:在 MAMP 和 XAMPP 中默认启用 cURL,而 MAMP 和 XAMPP 只是为 PHP 提供服务的 Web 服务器 + 数据库服务器。您可以像部署到实时 Web 服务器一样安装 Ratchet WebSockets。
但请确保您调用的是正确的 php 可执行文件,而不是您可能安装在您的计算机/服务器上的那个。
见:http://socketo.me/docs/install
【讨论】:
好的,所以我知道默认情况下启用了 cURL,但这是否意味着我只是打开一个 php 文件,添加 curl -s getcomposer.org/installer | php 获取作曲家然后运行页面?这会让我得到我需要的依赖。我真的对这种东西一无所知,需要一些帮助。我通过终端在我的网络服务器上安装了这个,但我不知道如何在本地进行。以上是关于如何在 MAMP 或 XAMPP 上安装 Ratchet WebSockets for PHP?的主要内容,如果未能解决你的问题,请参考以下文章
MAMP 和 XAMPP 的 mysql 密码更改如何工作?
更新到 mac High Sierra 10.13.2 后 MySQL 服务器不会在 MAMP/AMPPS/XAMPP 上启动