De : https://github.com/mongodb/mongo-php-driver/issues /247
Le processus PHP charge mongodb.so et _mongoc_do_init()
de libmongoc La fonction est exécutée, qui appelle sasl_client_init() lorsqu'elle est compilée avec SASL. J'ai trouvé des références à des plantages dans les versions antérieures de Cyrus SASL sous OS X si le client est initialisé et détruit plusieurs fois au cours du même processus ; cependant, je m'attendrais à la logique autour de _mongoc_do_init()
garantit qu'il ne s'exécute qu'une seule fois par processus. Je ne suis pas sûr non plus de la version de SASL que vous avez installée (au-delà de la bibliothèque ayant "2.2" dans son nom de fichier), donc je ne sais pas s'il s'agit d'un faux-fuyant. Je devrai contacter les développeurs de libmongoc pour confirmer.
En attendant, pourriez-vous fournir un journal de votre installation pecl mongodb ? Il y a quelques lignes d'intérêt liées à la configuration de SASL (malheureusement, pas le numéro de version exact).
De plus, si vous construisez manuellement le pilote, vous devriez pouvoir utiliser l'argument --with-mongodb-sasl=no pour configurer pour désactiver la prise en charge SASL, ce qui peut contourner le problème jusqu'à ce que nous puissions le diagnostiquer davantage. Les étapes de construction manuelle à partir d'un shell seraient :
$ cd /path/to/mongo-php-driver
$ phpize
$ ./configure --with-mongodb-sasl=no
$ make clean && make all && make install
Cela nécessiterait également l'initialisation des sous-modules git si vous clonez le référentiel. Sinon, vous devriez pouvoir extraire le fichier PECL tgz et utiliser ces sources.