差出人: https://github.com/mongodb/mongo-php-driver/issues / 247
PHPプロセスは、mongodb.soとlibmongocの_mongoc_do_init()
をロードします。 関数が実行され、SASLでコンパイルされたときにsasl_client_init()が呼び出されます。クライアントが同じプロセスで複数回初期化および破棄された場合、OSX上の以前のバージョンのCyrusSASLでクラッシュへの参照がいくつか見つかりました。ただし、_mongoc_do_init()
の周りのロジックを期待します プロセスごとに1回だけ実行されるようにします。また、インストールした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サブモジュールを初期化する必要があります。それ以外の場合は、PECLtgzファイルを抽出してそれらのソースを使用できるはずです。