it-swarm.dev

Apache não funciona após a atualização do MacOS Mojave

Ok, depois de atualizar o macOS do High Sierra para o Mojave, o Apache com PHP parou de funcionar corretamente, então eu fiz tudo como é dito neste guia - https://getgrav.org/blog/macos-mojave-Apache -multiple-php-versions

mas depois disso, o Apache ainda não está funcionando corretamente, às vezes funcionando, às vezes não, e é dito nos navegadores ERR_CONNECTION_REFUSED ou outros erros como 404 ou 500.

No log do Apache é:

[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

Eu enfrentei um problema semelhante com o PHP 5.6, já que ele estava funcionando bem antes do upgrade do Mojave. Eu fiz o seguinte para resolver o problema com sucesso:

  1. Execute o comando abaixo de Sudo nano /etc/Apache2/httpd.conf

  2. verifique se os módulos abaixo não estão comentados:

    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

Eu adicionei o que falta no httpd.conf

  1. Verifique o módulo php correto para você (PHP 5.6 de 7.x) e carregue o módulo necessário adicionando a linha ou comentando/descomentando as linhas

    LoadModule php5_module libexec/Apache2/libphp5.so

OR

LoadModule php7_module libexec/Apache2/libphp7.so

Comente o que não é necessário, adicionando "#" ao início da linha

  1. Execute os comandos abaixo para reiniciar o apapche e testar A. Sudo apachectl restart B. configuração do apachectl

Verifique se há algum erro lá

Para PHP 5.6: No caso de você ter o php 5 com brew já no sistema antes upgarde e as alterações acima dão erro como abaixo "Httpd: Erro de sintaxe na linha 180 do /private/etc/Apache2/httpd.conf: Não é possível carregar libexec/Apache2/libphp5.so no servidor: dlopen (/usr/libexec/Apache2/libphp5.so, 10): image not found "

Em seguida, procure por libphp5.so no sistema e, se for encontrado, copie-o para "/ usr/libexec/Apache2 /"

No meu caso, o comando era

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

Isso tudo fez as coisas funcionarem no meu sistema

9
adang

Além da resposta de Adang, eu também tive que descomentar esta linha:

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

para que ele saiba quais diretórios de usuários estavam disponíveis.

Dentro de /private/etc/Apache2/extra/httpd-userdir.conf

Eu tive que descomentar esta linha:

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

então:

Sudo apachectl restart
5
Matthew

Eu tive o mesmo problema depois de instalar o Mac OS Mojave. Eu fiz os seguintes passos e funcionou comigo:

brew update 

então:

brew upgrade

Eu editei o /etc/Apache2/httpd.conf removendo o comentário da seguinte linha:

LoadModule php7_module libexec/Apache2/libphp7.so

Abra o terminal e reinicie o servidor Apache:

Sudo apachectl restart

você pode achar o post neste link útil

1
Wael Almadhoun

porque o tópico é o httpd.conf bagunçado depois da atualização do Mojave Eu também recebi este erro durante 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

Descobri que o #ServerName localhost:80 no httpd.conf foi excluído, mas o uncommenting resolveu meu problema.

0
Francesco Panella

Eu segui as instruções nas respostas acima e ainda tenho um 403 Proibido ao tentar acessar minha pasta /Users/myuser/Sites/. Para corrigir isso, tive que mudar o usuário em /etc/Apache2/httpd.conf de _www para meu próprio usuário.

Para fazer isso, edite seu arquivo httpd.conf usando seu editor favorito /etc/Apache2/httpd.conf. Olhe para:

User _www

substitua por seu usuário:

User myuser

em seguida, reinicie o Apache:

Sudo apachectl restart
0
bated