2012-11-12 85 views
1

我只是更改Couchbase 2.0beta以使用Views.So,我按照offical manual構建了couchbase php extsion。 首先,安裝一個純粹的RHEL 6.2.Then,安裝couchbase服務器-2.0.0-1723和libcouchbase所有依賴包:無法創建Couchbase的IO實例

libcouchbase2-dummy-2.0.0beta2-1.x86_64 
couchbase-server-2.0.0-1723.x86_64 
libcouchbase2-2.0.0beta2-1.x86_64 
libcouchbase-devel-2.0.0beta2-1.x86_64 
libev-4.03-3.el6.x86_64 
libevent-1.4.13-1.el6.x86_64 

提取PHP-EXT-couchbase-1.1.0-DP5-centos62- x86_64.tar.gz,複製couchbase.so到/ usr/lib64下/ PHP /模塊/和編輯/etc/php.d/json.ini:

extension=json.so 
extension=couchbase.so 

最後,重新啓動HTTP Server.Then,檢查couchbase模塊由以下部分組成:

php -m|grep couchbase 

和phpinfo()可以輸出的couchbase版本是1.1.0-dp5。 一切看起來很好,但我嘗試運行PHP代碼:

<?php 
$cb = new Couchbase("127.0.0.1:8091",'Administrator','redflag','default'); 
$cb->set('a',1); 

這是錯誤的:

$ php getview.php 
PHP Warning: Couchbase::__construct(): failed to create IO instance in /var/www/html/getview.php on line 2 
PHP Warning: Couchbase::set(): unintilized couchbase in /var/www/html/getview.php on line 3 

爲了檢查couchbase設置是正確的,我打開Couchbase GUI的管理員用戶名,紅旗如然後,創建新文檔,使用REST API獲取項目或視圖。那些東西都可以,沒問題,除了php代碼。

沒有其他出路,我從https://github.com/couchbase/php-ext-couchbase git。建立新的php-couchbase擴展,並嘗試agin.But問題是一樣的。

我發現某人在here & this上有同樣的錯誤。遺憾的是沒有解決方案。 如何使用php-ext-couchbase 1.1dp5模塊?THX。

回答

1

乍一看它似乎正確加載了couchbase擴展。這裏可能是錯誤的是如何訪問你的存儲桶。

如果您沒有做任何更改,「默認」存儲區沒有與其關聯的密碼,並且存儲區的用戶通常是存儲區名稱本身。因此,在「默認」桶的情況下,它應該是這樣的:

$client = new Couchbase("127.0.0.1:8091", "default", "", ""); 

如果你有定義的密碼:

$client = new Couchbase("127.0.0.1:8091", "bucketname", "", "password"); 

希望這有助於 邁克爾

+0

對不起,這不是工作。但我已經找到了原因。因爲我的系統沒有任何文件提到的libcouchbase2-libevent軟件包。 – user1815744

1

使用yum安裝libcouchbase2-libevent包可以解決這個問題。當你運行yum install libcouchbase-devel時,它不包含libcouchbase2-libevent。如果你錯過了這個,你也可以用&安裝php-ext-couchbase模塊而不會出錯。但是你不能連接在Couchbase中,作爲上面的提示。

+0

該問題已在快照存儲庫中得到解決,因此下一版本將可以使用 – avsej

+0

**謝謝**!這固定在Ubuntu Lucid上! – asymmetric