Od:https://github.com/mongodb/mongo-php-driver/issues/247
PHP ładunki procesowe mongodb.so i _mongoc_do_init()
funkcja libmongoc jest wykonywany, co nazywa sasl_client_init() po kompilacji z SASL. Znalazłem kilka odniesień do awarii we wcześniejszych wersjach Cyrus SASL na OS X, jeśli klient jest inicjowany i niszczony wielokrotnie w tym samym procesie; jednak oczekiwałbym, że logika wokół _mongoc_do_init()
zapewnia, że wykonuje się tylko raz na proces. Nie jestem również pewien wersji SASL, którą zainstalowałeś (poza biblioteką mającą "2.2" w nazwie pliku), więc nie jestem pewien, czy to jest czerwony śledzia. Będę musiał skontaktować się z twórcami libmongoc, aby to potwierdzić.
W międzyczasie, czy mógłbyś dostarczyć dziennik swojego monopodu instalacji pecl? Istnieje kilka linii zainteresowania związanych z konfiguracją SASL (niestety nie jest to dokładny numer wersji).
Ponadto, jeśli ręcznie tworzysz sterownik, powinieneś być w stanie użyć argumentu --with-mongodb-sasl = no, aby skonfigurować wyłączenie obsługi SASL, które może obejść ten problem, dopóki nie zdołamy go zdiagnozować. Ręczne kroki budować od powłoki byłoby:
$ cd /path/to/mongo-php-driver
$ phpize
$ ./configure --with-mongodb-sasl=no
$ make clean && make all && make install
to również wymagające inicjalizacji git submodules jeśli klonowanie repozytorium. W przeciwnym razie powinieneś być w stanie wyodrębnić plik PEGL tgz i użyć tych źródeł.