От: https://github.com/mongodb/mongo-php-driver/issues /247
PHP процесът зарежда mongodb.so и _mongoc_do_init()
на libmongoc се изпълнява функция, която извиква sasl_client_init(), когато се компилира със SASL. Намерих някои препратки към сривове в по-ранни версии на Cyrus SASL на OS X, ако клиентът е инициализиран и унищожен многократно в един и същи процес; обаче бих очаквал логиката около _mongoc_do_init()
гарантира, че се изпълнява само веднъж на процес. Също така не съм сигурен за версията на SASL, която сте инсталирали (освен библиотеката, която има "2.2" в името на файла), така че не съм сигурен дали това е червена херинга. Ще трябва да се свържа с разработчиците на libmongoc, за да потвърдя.
Междувременно можете ли да предоставите дневник на вашата pecl инсталация mongodb? Там има някои интересни редове, свързани с това как е конфигуриран SASL (за съжаление, не точният номер на версията).
Освен това, ако ръчно компилирате драйвера, трябва да можете да използвате аргумента --with-mongodb-sasl=no, за да конфигурирате за деактивиране на поддръжката на SASL, което може да заобиколи проблема, докато не можем да го диагностицираме допълнително. Стъпките за ръчно изграждане от шел ще бъдат:
$ cd /path/to/mongo-php-driver
$ phpize
$ ./configure --with-mongodb-sasl=no
$ make clean && make all && make install
Това също ще изисква инициализиране на git подмодули, ако клонирате хранилището. В противен случай трябва да можете да извлечете PECL tgz файла и да използвате тези източници.