Od: https://github.com/mongodb/mongo-php-driver/issues /247
Proces PHP ładuje mongodb.so i _mongoc_do_init()
biblioteki libmongoc wykonywana jest funkcja, która wywołuje sasl_client_init() podczas kompilacji z SASL. Znalazłem pewne odniesienia do awarii we wcześniejszych wersjach Cyrus SASL na OS X, jeśli klient jest wielokrotnie inicjowany i niszczony w tym samym procesie; jednak spodziewałbym się logiki wokół _mongoc_do_init()
zapewnia, że jest wykonywany tylko raz na proces. Nie jestem też pewien wersji SASL, którą zainstalowałeś (poza biblioteką mającą w nazwie pliku „2.2”), więc nie jestem pewien, czy to czerwony śledź. Będę musiał skontaktować się z twórcami libmongoc, aby potwierdzić.
W międzyczasie, czy mógłbyś udostępnić dziennik swojej instalacji pecl mongodb? Istnieje kilka interesujących linii związanych z konfiguracją SASL (niestety nie z dokładnym numerem wersji).
Ponadto, jeśli ręcznie skompilujesz sterownik, powinieneś być w stanie użyć argumentu --with-mongodb-sasl=no, aby skonfigurować, aby wyłączyć obsługę SASL, co może obejść problem, dopóki nie będziemy mogli go dokładniej zdiagnozować. Ręczne kroki budowania z powłoki to:
$ cd /path/to/mongo-php-driver
$ phpize
$ ./configure --with-mongodb-sasl=no
$ make clean && make all && make install
Wymagałoby to również zainicjowania podmodułów git, jeśli klonujesz repozytorium. W przeciwnym razie powinieneś być w stanie wyodrębnić plik PECL tgz i użyć tych źródeł.