Problemas do Apache após a atualização para o Yosemite

8

O meu servidor web Mac não funciona após a atualização para o Yosemite. Quando digito apachectl no Terminal, recebo isso:

httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n  Referenced from: /usr/local/php5/libphp5.so\n  Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so

Se eu digitar sudo apachectl [re]start , nada acontece, como se ele fosse iniciado e eu o digitasse novamente, ele diz que já está em execução. Além disso, tenho o painel Preferência de Compartilhamento da Web instalado ( link ) e quando eu clico no botão de Desligado para Ligado, ele ainda diz está desligado, embora o interruptor esteja na posição Ligado.

Quais arquivos vocês querem / precisam ver? Realmente precisa corrigir isso o mais rápido possível.

    
por Tom Oakley 17.10.2014 / 22:16

5 respostas

6

Por favor, note também que o instalador do Yosemite sobrescreve todo o arquivo /private/etc/apache2/httpd.conf com o novo arquivo de configuração padrão do Apache 2.4.

Por exemplo, se qualquer diretiva Listen foi adicionada, ela terá desaparecido e precisará ser adicionada novamente. Por exemplo:

Listen 127.0.0.1:81

Eu encontrei minha configuração antiga no seguinte arquivo, mas devido às diferenças do 2.2, ela provavelmente não deve ser copiada diretamente sobre o arquivo http.conf:

/private/etc/apache2/httpd.conf~previous

Existe um guia de atualização em: link

Certifique-se de que todos os arquivos de configuração extras incluídos anteriormente ainda estejam incluídos e, em seguida, teste a configuração com o comando:

sudo apachectl configtest
    
por 20.10.2014 / 17:31
8

O problema ocorre porque o Yosemite instala a versão mais recente do Apache (2.4), enquanto versões anteriores do Mac OS X usavam o Apache versão 2.2

Do erro, parece que você não estava usando a versão padrão do PHP fornecida pela Apple, mas uma versão diferente fornecida pelo liip.ch. Remover o sinal # como sugerido pela Nuttyx acima irá carregar a versão Apple do php (5.5.14). Se você deseja continuar executando a versão fornecida pelo liip, você precisará reinstalá-lo para que ele seja carregado corretamente no Apache 2.4. Veja uma explicação detalhada aqui: ( link )

N.B. Se você estiver usando hosts virtuais, provavelmente precisará alterar seus arquivos de configuração. Em particular, você precisará alterar o seguinte:

2.2 configuração:

Order allow,deny
Allow from all

Configuração 2.4:

Require all granted
    
por 20.10.2014 / 13:45
4

Parece que você pode corrigir isso removendo o # no início da seguinte linha em /etc/apache2/httpd.conf file:

LoadModule php5_module libexec/apache2/libphp5.so
    
por 18.10.2014 / 00:52
1

Executar 'sudo apachectl' sem argumentos mostra o problema nos arquivos conf. No meu caso, atualizar o php resolveu isso.

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

Depois disso, o Apache é executado novamente, mas eu tive que reconfigurar os vhosts.

    
por 26.10.2014 / 22:38
0

Enquanto a pergunta acima foi respondida, existe outra possibilidade do mesmo erro como:

/private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/mod_XYZ.so into server: dlopen(/usr/libexec/apache2/mod_XYZ.so, 10): image not found

Isso pode acontecer se você criou um link simbólico que está sendo referido no nome acima e não foi encontrado. Para resolver, crie um link simbólico fornecendo o caminho absoluto para o arquivo real e o mesmo para o nome do arquivo de link simbólico que está sendo fornecido.

    
por 21.12.2015 / 06:34