2017-10-18 10 views
0

Ich arbeite mit dem neuesten OS X Sierra 10.12.6, XAMPP 7.1.9 mit PHP 7.1 und installiere das neueste Homebrew/Homebrew- Core (git Revision 7598; letzter commit 2017-10-18) um ​​dieses Ziel zu erreichen: Benutze die neueste mongodb-Erweiterung (die die alte Mongo-Erweiterung ersetzt).OS X Sierra + XAMPP 7.1.9-0 + Erweiterung mongodb.so startet nicht

Nach einer Neuinstallation von mongodb wie folgt aus:

/usr/local/opt/php71-mongodb/mongodb.so 

Ich füge dies auf die php.ini meines XAMPP-Installation:

brew tap homebrew/php 
brew install php71-mongodb 

ich die mongodb Erweiterung gefunden /Applications/XAMPP/xamppfiles/etc

extension="/usr/local/opt/php71-mongodb/mongodb.so" 

Danach habe ich XAMPP neu zu starten bzw. den Apache2 Dienst werde: /Applications/XAMPP/xamppfiles/ctlscript.sh Neustart Apache

Die einzige Antwort, die ich erhalten wird alles andere als ein Fehler ist:

AH00548: NameVirtualHost has no effect and will be removed in the next release /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf:40 Syntax OK /Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : apache not running AH00548: NameVirtualHost has no effect and will be removed in the next release /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf:40 Syntax OK /Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd started

Das merkwürdige beginnt hier:

Wenn ich den XAMPP Benutzeroberfläche verwenden den Dienst neu zu starten, wird Apache2 nicht mehr arbeiten.

Sogar Neustart des Dienstes auf CLI wird dies beheben.

Auch nach dem Entfernen der Verweis auf die mongodb.so von der php.ini wird dies beheben.

Das Problem ist: Ich erhalte keine Art von Fehler. Nicht in /Applications/XAMPP/xamppfiles/logs/php_error.log noch in /Applications/XAMPP/xamppfiles/logs/error.log.

Antwort

0

siehe Update unten

ich einen Weg gefunden, die Apache2 Service mit einem Arbeits mongodb-Erweiterung in diesem Thread neu zu starten:

https://github.com/mongodb/mongo-php-driver/issues/247

Neustart des Dienstes auf CLI mit diesem Befehl geholfen ich:

/Applications/XAMPP/xamppfiles/bin/httpd -E /Applications/XAMPP/xamppfiles/logs/error_log 

Das ist alles.

Aber ich immer noch nicht verstehen, wie all dies verbunden ist. Wenn Sie die XAMPP-Benutzeroberfläche erneut zum Neustart verwenden, funktioniert sie nicht mehr. Aber die Benutzeroberfläche hat am Anfang funktioniert. Also, irgendwie hat die Installation der mongodb-Dateien (oder vielleicht Homebrew) irgendwo in der XAMPP-Installation etwas beschädigt.

aktualisieren, am nächsten Tag

ich einen frischen XAMPP installiert, aus den zerkratzten Es dauerte eine Weile, um herauszufinden, was die XAMPP UI funktioniert die Apache zu starten, ist es eine Kette von Befehlen:

/Applications/XAMPP/xamppfiles/ctlscript.sh start apache 
-> 
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh start 
-> 
/Applications/XAMPP/xamppfiles/xampp startapache 
-> 
/Applications/XAMPP/xamppfiles/bin/apachectl -k start -E /Applications/XAMPP/xamppfiles/logs/error_log -DSSL -DPHP 
-> 
/Applications/XAMPP/xamppfiles/bin/httpd -k start -E /Applications/XAMPP/xamppfiles/logs/error_log -DSSL -DPHP 

Danach habe ich die berühmte mongodb.so-Zeile zur php.ini Datei hinzugefügt.

Von nun an konnte ich die Benutzeroberfläche nicht mehr verwenden, um Apache erneut zu starten. Also nahm ich den letzten Befehl von der Kette oben und ausgeführt es, mit diesem Ergebnis:

(13)Permission denied: AH00086: httpd: could not open error log file /Applications/XAMPP/xamppfiles/logs/error_log. AH00548: NameVirtualHost has no effect and will be removed in the next release /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf:40 (13)Permission denied: AH00072: make_sock: could not bind to address [::]:80 (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down AH00015: Unable to open logs

Finding # 1: gerade hinzufügen, um die Erweiterung zu dem php.ini Art entfernt den Schreib-Flag aus dem Fehler. log

Also, das ist einfach, mit

sudo chmod a+w /Applications/XAMPP/xamppfiles/logs/error_log. 

nun zum ersten Mal in der Geschichte dieses Problem zu beheben, habe ich eine echte Fehlermeldung aus dem error.log bekam, dass sagt etwas zu Ich:

(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80 (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down AH00015: Unable to open logs

Finding # 2: Starten des Apache als sudo von der Kommandozeile wird fix it

Rest Mysterys

Es ist noch nicht klar, mein, was nach dem Hinzufügen der Erweiterung des PHP geschieht. Ini. Selbst das Entfernen wird das Problem nicht beheben.

Verwandte Themen