OSX Padrão Apache + MacPorts PHP?

1

Se possível, gostaria de manter a instalação padrão do Apache e simplesmente direcioná-la para usar uma versão diferente do PHP construído / instalado usando o MacPorts. Isso é possível (e, em caso afirmativo, existe um processo direto para configurá-lo)?

Eu sei que o Apache quer que eu especifique o módulo PHP para carregar, mas não está claro para mim como eu poderia tê-lo usando uma instalação diferente do PHP (se é que isso é possível). Preciso compilar um novo módulo do apache que de alguma forma apontaria para minha cópia do PHP construída com o MacPorts? Qualquer esclarecimento sobre o que eu preciso fazer seria muito apreciado!

Atualização: E sobre a ativação do FastCGI e a execução do PHP por meio dele, em vez de um módulo do Apache? Eu sei que há tradeoffs entre as duas abordagens, mas isso seria uma possibilidade ou eu teria problemas semelhantes?

    
por Wilco 06.11.2012 / 01:32

1 resposta

1

Macports O PHP libphp5.so geralmente não é compatível com o sistema Apache padrão do OSX. Aqui está o que acontece no meu macosxserver.

# /etc/apache2/httpd.conf
LoadModule php5_module /opt/local/apache2/modules/libphp5.so

Tentativa de iniciar o servidor

~> sudo /usr/sbin/apachectl -k start
httpd: Syntax error on line 118 of /private/etc/apache2/httpd.conf: 
Cannot load /opt/local/apache2/modules/libphp5.so into server: dlopen(/opt/local/apache2/modules/libphp5.so, 10): 
Library not loaded: /opt/local/lib/libaprutil-1.0.dylib\n  Referenced from: /opt/local/apache2/modules/libphp5.so\n  
Reason: Incompatible library version: libphp5.so requires version 5.0.0 or later, but libaprutil-1.0.dylib provides version 4.0.0

Você pode facilmente compilar o PHP para usar sua instalação padrão do Apache, definindo o caminho para o seu padrão apxs .

# In PHP source directory
./configure --with-apxs2=/usr/sbin/apxs

É claro que a (re) compilação do PHP pode ser mais trabalho do que você deseja herdar. A maneira mais fácil seria aceitar a instalação do Apache do Macport e ajustar o seu osxserver para usar o /opt/local/apache2 como seu serviço HTTPD padrão.

    
por 06.11.2012 / 16:40