Seit dem Upgrade auf Mac OS X El Capitan kann Apache nicht starten, wenn ich versuche, Apache in XAMPP mit 'extension = mongo.so' in der Datei php.ini zu starten. Wenn ich das entferne, startet Apache gut. Mongo wurde in meinem XAMPP-Build mit dem mitgelieferten pecl-Befehl installiert. Ist das ein Problem mit dem neuen Betriebssystem, dem Treiber oder XAMPP?
EDIT: Hat der Treiber ordnungsgemäß auf MAMP funktioniert, muss das Problem in XAMPP vorhanden sein
Von: Ссылка
Der PHP-Prozess lädt mongodb.so und libmongocs _mongoc_do_init()
-Funktion wird ausgeführt, die sasl_client_init () aufruft, wenn sie mit SASL kompiliert wird. In früheren Versionen von Cyrus SASL unter OS X habe ich einige Verweise auf Abstürze gefunden, wenn der Client im selben Prozess mehrfach initialisiert und zerstört wird. Ich erwarte jedoch, dass die Logik um _mongoc_do_init()
sicherstellt, dass sie nur einmal pro Prozess ausgeführt wird. Ich bin mir auch nicht sicher über die Version von SASL, die Sie installiert haben (über die Bibliothek hinaus, die "2.2" in seinem Dateinamen hat), also bin ich nicht sicher, ob das ein Ablenkungsmanöver ist. Ich werde mit den libmongoc-Entwicklern nachgehen müssen, um das zu bestätigen.
Können Sie in der Zwischenzeit ein Protokoll Ihres pecl install mongodb bereitstellen? Es gibt einige Zeilen von Interesse, die sich darauf beziehen, wie SASL konfiguriert ist (leider nicht die genaue Versionsnummer).
Wenn Sie den Treiber manuell erstellen, sollten Sie außerdem das Argument --with-mongodb-sasl = no verwenden können, um die SASL-Unterstützung zu deaktivieren. Dies kann das Problem umgehen, bis wir es weiter diagnostizieren können. Die manuellen Build-Schritte von einer Shell wären:
%Vor%Dies würde auch die Initialisierung von Git-Submodulen erfordern, wenn Sie das Repository klonen. Andernfalls sollten Sie die PECL-tgz-Datei extrahieren und diese Quellen verwenden können.