Я использую Couchbase PHP Extension для подключения к Couchbase и реализации функции, которая может определить, не отвечает ли Couchbase и отказывается от MySQL. Тем не менее, я не могу понять, как обнаружить, если Couchbase не работает, я не могу найти что-либо в своей документации для этого.
Ниже приведен код, который у меня есть:
$cb = new Couchbase("$host:$port", $admin, $password, $bucket); if (!$cb) { throw Exception('Cannot connect to couchbase!'); }
Любая помощь будет высоко ценится.
Я столкнулся с тем же вопросом и решил так:
$cb = @new Couchbase($host.":".$port,$username,$password,$bucket,$persistent); if($cb->getResultCode() != COUCHBASE_SUCCESS){ throw Exception('Cannot connect to couchbase!'); }
Я бы рекомендовал считать ошибки до порога, а затем рассмотреть соединение «вниз» и попытаться его перестроить.
Обратите внимание, что причиной того, что сложно определить «вниз», является то, что Couchbase по дизайну редко полностью терпит неудачу и даже когда происходят неудачные узлы, переход на другой ресурс запускается автоматически или вручную, возвращая этот объект соединения в онлайн-режиме. В этом отношении это отличается от связей с другими базами данных.