Erro ao configurar o PHP com o apache existente

1

Estou recebendo esta mensagem:

configure: error: Invalid Apache directory - unable to find httpd.h under /usr/lib64/httpd/

depois de executar o seguinte comando:

./configure --with-apache=/usr/lib64/httpd/

Eu não sei onde está o DIR de nível superior no meu apache já instalado. O serviço apache já está instalado no meu servidor CentOS 6.5 do repositório usando yum install httpd .

  • Versão do Apache 2.2.15-31
  • Versão do PHP 5.4.25
por ibedelovski 18.09.2014 / 16:07

3 respostas

3

Esta é a solução final para minha pergunta:

Instalando o pacote httpd-devel do repositório yum install httpd-devel , onde os cabeçalhos do apache estão incluídos.

Configurando o php com apxs2: ./configure --with-apxs .

O último passo é adicionar as seguintes linhas no VirtualHost no arquivo httpd.conf (ou nos arquivos .conf incluídos):

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
    
por 19.09.2014 / 09:41
2

Se o seu apache já está construído e configurado, você deve compilar o PHP como um módulo compartilhado ao invés de um estático.

A sobrecarga é um pouco superior, mas você poderá atualizar cada componente separadamente.

Configure o exemplo:

$ ./configure --with-apxs=<path to apxs binary in apache/http bindir>

Esqueceu uma coisa: seu apache deve ser compilado com mod_so ativado para usar módulos dinâmicos construídos com apxs

    
por 18.09.2014 / 16:15
2

Se você quiser compilar coisas para o apache - desta vez, php -, você precisa ter os cabeçalhos do apache para fazer isso. Eles são alguns como "apache-dev" ou "apache2-devel" ou "libapache2-devel", ou pacote nomeado similar. Este pacote você tem que instalar.

Este pacote de desenvolvimento conterá o binário apxs, que provavelmente será encontrado automaticamente pelos scripts de configuração do php.

EXTENSÃO: Segundo, leia a saída ./configure --help do código fonte do php com cuidado. Como posso lembrar, como se houvesse alguma diferença entre os sinalizadores --with-apache , --with-apache2 ou --with-apxs . Tem certeza de que você não irá compilar para o apache1 acidentalmente?

EXTENSÃO # 2: Talvez você também possa obter o pacote php de origem da sua distribuição, pelo menos para descobrir, como isso faz a (re) compilação.

    
por 18.09.2014 / 16:22