PHP: cliente Mongo não encontrado

2

Eu instalei o XAMPP no meu MacBook. PHP e MySQL estão funcionando bem, então eu segui com o mongo. Eu fiz o seguinte:

  • brew install mongo (sucesso)
  • brew install autoconf (sucesso)
  • sudo / Aplicativos / XAMPP / xamppfiles / bin / pecl instalar mongo (sucesso)

Até aí tudo bem. Eu adicionei o caminho completo do mongo.so ao final do '/etc/php.ini da seguinte forma:

[mongo]
extension=/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/mongo.so

O problema:

Digitar php --version , no entanto, retorna o seguinte:

PHP Warning: PHP Startup: mongo: Unable to initialize module
Module compiled with module API=20121212
PHP compiled with module API=20100525
These options need to match in Unknown on line 0
PHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15)

O que eu tentei:

Eu consegui me livrar desse erro acima (note: get rid), atualizando o PHP do OS X através do seguinte: curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

Em seguida, adicionei as seguintes linhas ao .bash_profile: export PATH=~/bin:/usr/local/php5/bin:$PATH

php -m agora lista o mongo como um dos módulos e não produz mais o erro acima.

No entanto, phpinfo () NÃO tem o mongo, e rodar minha página usando o mongo client me dá o seguinte erro:

FatalErrorException Class 'MongoClient' not found

Então, eu repeti o seguinte: sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

E agora está me dizendo que meu mongo está atualizado:

pecl / mongo já está instalado e é o mesmo que a versão 1.5.5

Informações adicionais:

  • Versão do PHP: PHP 5.5.14 (cli) (construído em: 28 de junho de 2014 10:29:43)
  • Versão do Mongo: Versão do shell do MongoDB: 2.6.3
  • Cliente Mongo: 1.5.5
por zack_falcon 06.08.2014 / 08:47

2 respostas

3

Você digitou php --version ou /Applications/XAMPP/xamppfiles/bin/php --version ? E para qual php.ini você adicionou essa linha? Para /etc/php.ini ou para /Applications/XAMPP/xamppfiles/etc/php.ini ?

O primeiro caminho sempre faz referência ao PHP padrão do OS-X (que é o PHP5.4), o mais recente faz referência ao XAMPPS PHP (que é PHP5.5 e possui uma API diferente do PHP5.4).

Suponho que você tenha compilado o módulo para PHP5.5 (XAMPP) e o tenha adicionado ao PHP5.4 (OS-X). Isso não funciona de jeito nenhum! Você terá que adicionar o mongo so-Path ao final do arquivo php.ini correto, que no seu caso é o do XAMPP que (se bem me lembro corretamente) está localizado em /Applications/XAMPP/xamppfiles/lib/php.ini

    
por 07.08.2014 / 07:57
0

Eu tive um problema com isso por dias. Funcionou sendo o XAMPP\etc\php.ini . Eu adicionei /usr/local/php5-5.6.25-20160831-101628/lib/php/extensions/no-debug-non-zts-20131226/mongo.so e funcionou bem. Para descobrir onde os arquivos mongo.so estão no Terminal, insira locate mongo.so

    
por 15.11.2016 / 09:54