2015-07-20 69 views
2

我试图获得这个包https://github.com/nrk/predis-async和说明书说:composer需要predis/predis-async。我尝试下载的选项phpiredis扩展,但是当我运行作曲家它说:如何传递作曲家的选项?

Problem 1 
    - predis/predis-async v0.2.3 require ext-phireids * -> the requested PHP extension phpiredis is missing from your system 

我是否需要添加一个扩展到PHP ini文件(如果是的话我怎么办做到这一点)?

如果这不起作用,那么github会说“在客户端选项阵列中传递['phpiredis'=> false]”我如何向作曲者传递选项?

回答

1

如果您想使用它,需要将php.ini文件扩展名添加到php.ini以加载到PHP进程中。

但是 - 根据predis-async composer文件,ext-phpiredis模块只是一个建议 - 所以Composer不需要它。 但是,这只是最新版本代码的情况 - 最后一个稳定版本,v0.2.3明确要求它 - 这就是你所看到的。

我的建议是使用最新版本的代码,用

# in the 'require' part of composer 
"predis/predis-async": "dev-master", 

,也可以明确,如果你不想代码可能是从你下能够改变列出特定SHA1哈希在更新或部署时。

该最新的代码已将扩展名移至建议。

客户端选项位于'Predis \ Async \ Client'构造函数(由您的PHP代码调用)中,作为Redis服务器地址之后的第二个参数的数组。

+0

谢谢你的工作!另外,如果您熟悉predis-async,我会遵循它提供的连接并使用pubSubLoop方法来侦听订阅的频道的示例。它运行时,我在PHP上运行它,但是,我正在尝试使用JavaScript来听loc​​alhost上的消息。我怎么连接到服务器并听?我可以用Javascript调用服务器吗? –

+0

对不起,我从来没有用过predis-async,直到我回答这个问题才看到它。从Javascript调用Redis是一个完全独立的问题 - 如果完成客户端,而不是来自像NodeJS这样的服务器端,则会带来严重的安全问题。 –