PECL:关于 Ratchet,'event' 扩展是不是等同于 'libevent'?
Posted
技术标签:
【中文标题】PECL:关于 Ratchet,\'event\' 扩展是不是等同于 \'libevent\'?【英文标题】:PECL: Is the 'event' extension equivalent to 'libevent' in regards to Ratchet?PECL:关于 Ratchet,'event' 扩展是否等同于 'libevent'? 【发布时间】:2016-10-05 20:31:37 【问题描述】:我正在学习 WebSockets,我的首选语言是 php。自然地,我选择使用 Ratchet 库来构建我的 WebSocket 服务器。到目前为止,我对 Ratchet 的简单性印象深刻,但我对他们推荐的 PECL 扩展感到困惑here。他们说安装 libevent(完成)然后安装PECL libevent。我有点困惑,因为有几个人已经成功了
PECL install libevent
但这给了我一个错误,指出只有 beta 版本可用。厌倦了在很可能成为生产解决方案的情况下安装测试版软件,我碰巧遇到了另一个名为 event 的 PECL 扩展。
PECL 扩展“事件”明确声明它“为 libevent 库提供接口...用于 PHP”。我想知道我是否安装并启用了“事件”扩展,它是否可以代替 libevent。
关于 Ratchet,有谁知道'event' php 扩展是否可以代替'libevent' php 扩展?
【问题讨论】:
【参考方案1】:TL;DR
也许吧。
推理:
PECL libevent 似乎不再得到积极维护,因此,在我看来,Ratchet 应该考虑为 PECL 事件扩展提供支持,而不是明显过时的 PECL libevent 扩展。
很遗憾,它们的 API 不兼容,因为 PECL 事件适用于 OO API,因此,除非 Ratchet 中明确支持 PECL 事件 API,否则您将不走运。
编辑
看起来 Ratchet 使用了 React,它确实为 PECL 事件提供了一个适配器。
重新“测试版”,您仍然可以使用
$ pecl install libevent-beta
安装它,但我实际上怀疑,考虑到最新发布的日期,它甚至会为当前的 PHP 版本构建。
【讨论】:
以上是关于PECL:关于 Ratchet,'event' 扩展是不是等同于 'libevent'?的主要内容,如果未能解决你的问题,请参考以下文章
Php 7.1 + Pecl-event + libevent - 在奇怪的情况下挂起
传递给 Ratchet\Session\SessionProvider::__construct() 的参数 1 必须实现接口 Ratchet\Http\HttpServerInterface