Problemas na instalação do módulo esfinge PECL do PHP
Pergunta
Eu tenho instalado os binários esfinge e bibliotecas e agora estou tentando instalar o módulo PECL esfinge.
O meu sistema está rodando OS X 10.6 com MAMP 1.8.2 instalado. Tento instalar esfinge usando o seguinte comando:
sudo pecl install sphinx
O comando PECL emite o seguinte:
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
As versões acima não coincidir com as versões listadas ao fazer um phpinfo()
. Parece que PECL está tentando complie contra o built-in versão do PHP.
Se eu ignorar os erros e continuar o que irá compilar e colocar o arquivo sphinx.so
com êxito:
/usr/lib/php/extensions/no-debug-non-zts-20090626/sphinx.so
quando na verdade ele deve ser:
/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/
Eu tentei copiar o arquivo sphinx.so às extensões MAMP dir mas quando eu reiniciar o Apache PHP exibe o seguinte aviso:
PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/sphinx.so
Eu acho que isso é porque MAMP é de 32 bits e as built-in PHP é de 64 bits de modo cumpre PECL para 64 bits. Eu poderia estar completamente errado, mas eu fiz ler este quando eu arregalou os olhos sobre o tema.
Alguém sabe como obter PECL para mapear para a versão MAMP de PHP em vez do built-in versão?
Solução
Se o " correta ??em>" versão do PHP é instalado em algo como /Applications/MAMP/bin/php5/
, e tem as ferramentas de desenvolvimento incluídos, você deve ter alguma versão do comando pecl
para ir com ele, alguns ao lado do diretório.
Se for assim, correndo o comando pecl
que corresponde ao seu " correta ??em>" versão do PHP deve ajudar: ele vai executar o correta versão de phpize
, e permitirá a extensão a ser compilado contra o (mais uma vez) correta ??em> versão do PHP.
Você apenas tem que esperança de que MAMP inclui os comandos -. Não consigo verificar, como eu não tenho um Mac