Van: https://github.com/mongodb/mongo-php-driver/issues /247
Het PHP-proces laadt mongodb.so en libmongoc's _mongoc_do_init()
functie wordt uitgevoerd, die sasl_client_init() aanroept wanneer gecompileerd met SASL. Ik vond enkele verwijzingen naar crashes in eerdere versies van Cyrus SASL op OS X als de client meerdere keren wordt geïnitialiseerd en vernietigd in hetzelfde proces; ik verwacht echter de logica rond _mongoc_do_init()
zorgt ervoor dat het slechts één keer per proces wordt uitgevoerd. Ik ben ook niet zeker van de versie van SASL die je hebt geïnstalleerd (buiten de bibliotheek met "2.2" in de bestandsnaam), dus ik weet niet zeker of dat een rode haring is. Ik moet contact opnemen met de libmongoc-ontwikkelaars om te bevestigen.
Kun je in de tussentijd een log geven van je pecl install mongodb? Er zijn daar enkele interessante zaken met betrekking tot hoe SASL is geconfigureerd (helaas niet het exacte versienummer).
Als u het stuurprogramma handmatig bouwt, zou u het argument --with-mongodb-sasl=no moeten kunnen gebruiken om te configureren om SASL-ondersteuning uit te schakelen, wat het probleem kan omzeilen totdat we het verder kunnen diagnosticeren. De handmatige bouwstappen van een shell zouden zijn:
$ cd /path/to/mongo-php-driver
$ phpize
$ ./configure --with-mongodb-sasl=no
$ make clean && make all && make install
Dit zou ook het initialiseren van git-submodules vereisen als je de repository aan het klonen bent. Anders zou je in staat moeten zijn om het PECL tgz-bestand uit te pakken en die bronnen te gebruiken.