Por que minhas extensões php estão sendo compiladas para PHP4 e não para PHP5?

2

Estou tentando compilar o memcache para o Dreamhost PS.

A biblioteca é criada, mas não é mostrada no phpinfo. Os logs do Apache dizem que a biblioteca não está carregada porque "símbolo indefinido: OnUpdateInt em Desconhecido na linha 0"

Eu li que OnUpdateInt é definido em PHP4 e OnUpdateLong é definido em PHP5. Portanto, o problema é que a configuração da compilação acha que deve compilar com o PHP4.

A versão SAPI do PHP é 5.2.10 (mostrada em phpinfo). O CLI é 4.4.9 (mostrado por php -v)

Minha pergunta: Como eu faço a compilação das bibliotecas ser compatível com o PHP5 no meu servidor e não no php4.

    
por Niro 22.10.2009 / 18:52

1 resposta

2

Parece que você quer atualizar seu PATH para "escolher" o PHP 5 ao invés do PHP 4. O processo de compilação usa o PHP que ele encontra em seu caminho. Para encontrar sua instalação atual:

which php

A informação do PHP deve mostrar o caminho para a versão do PHP 5. Para testá-lo, você pode executar php -v com o caminho completo para a versão PHP 5 (por exemplo, se estiver em /usr/local/bin , você pode usar /usr/local/bin/php -v ). Você pode atualizar seu caminho:

# for bash
export PATH=/usr/local/bin:$PATH

Então php -v deve acessar a versão atualizada depois disso.

Se eles tiverem ambos instalados "lado a lado" (por exemplo, um php e php5 binário), você precisará usar uma opção de configuração (supondo que esteja compilando memcached da origem). Não estou familiarizado com a forma como o Dreamhost tem essa configuração.

    
por 22.10.2009 / 19:03

Tags