2015-07-20 77 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這樣的服務器端,則會帶來嚴重的安全問題。 –