it-swarm.com.de

Apache funktioniert nach MacOS Mojave-Update nicht mehr

Ok, nach dem Update von macOS von High Sierra auf Mojave funktioniert Apache mit PHP nicht mehr richtig. Deshalb habe ich alles getan, was in diesem Handbuch gesagt wird - https://getgrav.org/blog/macos-mojave-Apache -mehrere PHP-Versionen

aber danach funktioniert Apache immer noch nicht richtig, manchmal funktioniert es, manchmal nicht, und es heißt in Browsern ERR_CONNECTION_REFUSED oder andere Fehler wie 404 oder 500.

In Apache log ist:

[Tue Oct 02 15:02:23.209423 2018] [mpm_prefork:notice] [pid 14579] AH00173: SIGHUP received.  Attempting to restart
[Tue Oct 02 15:02:23.255957 2018] [mpm_prefork:notice] [pid 14579] AH00163: Apache/2.4.35 (Unix) PHP/7.2.10 configured -- resuming normal operations
[Tue Oct 02 15:02:23.256008 2018] [core:notice] [pid 14579] AH00094: Command line: '/usr/local/opt/httpd/bin/httpd'
[Tue Oct 02 15:14:37.626645 2018] [mpm_prefork:notice] [pid 14579] AH00173: SIGHUP received.  Attempting to restart
[Tue Oct 02 15:14:37.674603 2018] [mpm_prefork:notice] [pid 14579] AH00163: Apache/2.4.35 (Unix) PHP/7.2.10 configured -- resuming normal operations
[Tue Oct 02 15:14:37.674672 2018] [core:notice] [pid 14579] AH00094: Command line: '/usr/local/opt/httpd/bin/httpd'
[Tue Oct 02 15:28:40.715060 2018] [mpm_prefork:notice] [pid 14579] AH00173: SIGHUP received.  Attempting to restart
[Tue Oct 02 15:28:40.752117 2018] [ssl:warn] [pid 14579] AH01909: www.example.com:8443:0 server certificate does NOT include an ID which matches the server name
[Tue Oct 02 15:28:40.766009 2018] [mpm_prefork:notice] [pid 14579] AH00163: Apache/2.4.35 (Unix) OpenSSL/1.0.2p PHP/7.2.10 configured -- resuming normal operations
[Tue Oct 02 15:28:40.766052 2018] [core:notice] [pid 14579] AH00094: Command line: '/usr/local/opt/httpd/bin/httpd'
5
Edoras

Ich hatte ein ähnliches Problem mit PHP 5.6, da es vor dem Mojave-Upgrade einwandfrei lief. Ich habe folgendes getan, um das Problem erfolgreich zu lösen:

  1. Führen Sie den folgenden Befehl aus Sudo nano /etc/Apache2/httpd.conf

  2. stellen Sie sicher, dass die folgenden Module unkommentiert sind:

    LoadModule authz_core_module libexec/Apache2/mod_authz_core.so

    LoadModule authz_Host_module libexec/Apache2/mod_authz_Host.so

    LoadModule userdir_module libexec/Apache2/mod_userdir.so

    LoadModule include_module libexec/Apache2/mod_include.so

    LoadModule rewrite_module libexec/Apache2/mod_rewrite.so

Ich habe die fehlende in httpd.conf hinzugefügt

  1. Prüfen Sie das richtige PHP-Modul (PHP 5.6 oder 7.x) und laden Sie das erforderliche Modul ebenfalls, indem Sie die Zeile hinzufügen oder die Zeilen kommentieren/auskommentieren

    LoadModule php5_module libexec/Apache2/libphp5.so

OR

LoadModule php7_module libexec/Apache2/libphp7.so

Kommentieren Sie die nicht benötigte durch Hinzufügen von "#" zum Zeilenanfang

  1. Führen Sie die folgenden Befehle aus, um einen Neustart der Papiere durchzuführen, und testen Sie A. Sudo apachectl neu starten B. apachectl configtest

Suchen Sie dort nach Fehlern

Für PHP 5.6: Falls Sie php 5 mit brew bereits im System vor upgarde hatten und die oben genannten Änderungen einen Fehler wie folgt ausgeben "Httpd: Syntaxfehler in Zeile 180 von/private/etc /Apache2/httpd.conf: Libexec/Apache2/libphp5.so kann nicht in Server geladen werden: dlopen (/usr/libexec/Apache2/libphp5.so, 10): Bild nicht gefunden "

Suchen Sie dann nach libphp5.so im System und kopieren Sie es nach "/ usr/libexec/Apache2 /".

In meinem Fall war der Befehl

Sudo cp ./local/Cellar/[email protected]/5.6.25_1/libexec/Apache2/libphp5.so /usr/libexec/Apache2/

Das alles hat in meinem System funktioniert

9
adang

Nach der Antwort von adang musste ich auch diese Zeile auskommentieren:

Include /private/etc/Apache2/extra/httpd-userdir.conf

um zu wissen, welche Benutzerverzeichnisse verfügbar waren.

Innerhalb von /private/etc/Apache2/extra/httpd-userdir.conf

Ich musste diese Zeile auskommentieren:

Include /private/etc/Apache2/users/*.conf

dann:

Sudo apachectl restart
5
Matthew

Ich hatte das gleiche Problem nach der Installation des Mac OS Mojave . Ich habe die folgenden Schritte ausgeführt und es hat mit mir funktioniert:

brew update 

dann:

brew upgrade

Ich habe /etc/Apache2/httpd.conf bearbeitet, indem ich die folgende Zeile auskommentiere:

LoadModule php7_module libexec/Apache2/libphp7.so

Öffnen Sie das Terminal und starten Sie den Apache-Server erneut:

Sudo apachectl restart

Vielleicht findest du den Beitrag auf diesem Link hilfreich

1
Wael Almadhoun

da das Thema die httpd.conf nach dem Mojave-Upgrade durcheinander gebracht hat, habe ich auch diesen Fehler während Sudo apachectl configtest

Could not reliably determine the server's fully qualified domain name, using XXX. Set the 'ServerName' directive globally to suppress this message

Ich fand heraus, dass der #ServerName localhost:80 in der httpd.conf auskommentiert wurde.

0

Ich befolgte die Anweisungen in den obigen Antworten und erhielt immer noch ein Verbot für den Zugriff auf meinen /Users/myuser/Sites/-Ordner. Um dies zu beheben, musste ich den Benutzer in /etc/Apache2/httpd.conf von _www zu meinem eigenen Benutzer ändern.

Bearbeiten Sie dazu Ihre httpd.conf-Datei mit Ihrem bevorzugten Editor /etc/Apache2/httpd.conf. Suchen:

User _www

ersetzen Sie mit Ihrem Benutzer:

User myuser

starten Sie dann Apache neu:

Sudo apachectl restart
0
bated