2013-10-05 1 views
2

У меня есть эта странная проблема, из-за которой я ударяю себя. Он работает на Dev машине, но когда я переместил его подталкивать машину, я получил эту ошибку:Не могу подключиться к couchbase через php

FastCGI-stderr: PHP Fatal error: Uncaught exception 'CouchbaseLibcouchbaseException' with message 'Failed to create libcouchbase instance: Administrator account must not be used to access the data in the bucket' in /var/www/myapps/Bootstrap.php:149 

Это строка 149:

$couchbase = new Couchbase($db['host'],$db['username'],$db['password'], $db['dbname']); 

ли я что-то пропустил? Я отключу все свои брандмауэры и selinux, чтобы убедиться, что это не их проблема. Все тот же ..

Я использую:

CentOS 6.4 64Bit 
Couchbase 2.01 
whatever the php-ext-couchbase define in this repo: 
http://packages.couchbase.com/rpm/couchbase-centos62-x86_64.repo 

Я могу войти без какого-либо вопроса через браузер с тем же именем пользователя и паролем.

Вопрос в том, действительно ли это проблема с учетной записью? Если это то, как и где я могу создать другого пользователя? Кажется, не найти его нигде в документации.

Если нет, любое предложение о том, как я должен отлаживать это? Пожалуйста помоги?

ответ

3

Защищен ли ваш защитный ковш? Если нет, просто передайте пустой идентификатор пользователя и пароль для подключения. Чтобы узнать, есть ли у него пароль, перейдите в область конфигурации ковша (Data Buckets, щелкните стрелку вниз, нажмите кнопку «Изменить»). Пароль установлен под «контролем доступа» на экране редактирования.

+0

Спасибо @Don Dickinson. Он защищен паролем, и я ввел имя пользователя и пароль в настройках php apps, чтобы попытаться подключиться к ведро данных и не повезло. Самое странное, что это работает на моей машине dev, но не на производственной машине. Я подозреваю, что версия php-ext-couchbase является виновником, но была не совсем уверена, так как я не знаю, в какой версии установлен скрипт couchbase. –

+0

Спасибо, что направил меня в нужное русло @ Don Dickinson. Ваш совет решил решить мою проблему. Я использовал старое предположение, например MySQL, если у вас есть пароль пользователя для управления db, тогда это имя пользователя и пароль могут/будут использоваться для подключения к db. Я не знал, что на самом деле можно напрямую подключиться к ведро без имени пользователя и пароля, что очень важно. Итак, я добавил пароль в ведро, удалил имя пользователя в своем приложении и ввел пароль для ведра и вуаля , оно работает. Еще раз спасибо за вашу помощь. :-) –

+0

Не используйте учетные записи с правами администратора для выполнения транзакций данных. Либо передайте NULL в качестве имени пользователя, либо имени ведра. –