Начиная с обновления до Mac OS X El Capitan, если я попытаюсь запустить apache в XAMPP с расширением = mongo.so, включенным в файл php.ini, apache не запускается. Если я удалю это, apache начнет нормально. Mongo был установлен в моей сборке XAMPP, используя команду pecl. Это проблема с новой операционной системой, драйвером или XAMPP?
EDIT: Правильно ли работает драйвер на MAMP, проблема должна существовать в XAMPP
От: https://github.com/mongodb/mongo-php-driver/issues/247
Процесс PHP загружает функцию mongodb.so и libmongoc _mongoc_do_init()
, которая вызывает sasl_client_init () при компиляции с SASL. Я нашел некоторые ссылки на сбои в более ранних версиях Cyrus SASL на OS X, если клиент инициализируется и уничтожается несколько раз в том же процессе; однако я бы ожидал, что логика вокруг _mongoc_do_init()
гарантирует, что она выполняется только один раз за процесс. Я также не уверен в версии SASL, которую вы установили (за пределами библиотеки, имеющей «2.2» в имени файла), поэтому я не уверен, что это красная селедка. Мне нужно будет проконсультироваться с разработчиками libmongoc для подтверждения.
В то же время, можете ли вы предоставить журнал вашей установки 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-подмодулей, если вы клонируете репозиторий. В противном случае вы сможете извлечь файл tgz PECL и использовать эти источники.