web-dev-qa-db-ja.com

PHP:Mongoクライアントが見つかりません

MacBookにXAMPPをインストールしました。 PHPとMySQLは正常に動作しているので、mongoでフォローアップしました。次のようにしました。

  • brew install mongo(成功)
  • brew install autoconf(成功)
  • Sudo/Applications/XAMPP/xamppfiles/bin/pecl install mongo(成功)

ここまでは順調ですね。次のように、完全なmongo.soパスを `/etc/php.iniの最後に追加しました。

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

問題:

ただし、php --versionと入力すると、次のようになります。

PHP警告:PHPスタートアップ:mongo:モジュールを初期化できません
モジュールAPI = 20121212でコンパイルされたモジュール
モジュールAPI = 20100525でコンパイルされたPHP
これらのオプションは、0行目の不明で一致する必要があります
PHP 5.4.24(cli)(ビルド:2014年1月19日21:32:15)

私が試したこと:

以下を介してOSXのPHP)を更新することにより、上記のエラーをなんとか取り除くことができました(注意:取り除く):curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

次に、次の行を.bash_profileに追加しました:export PATH=~/bin:/usr/local/php5/bin:$PATH

php -mは、モジュールの1つとしてmongoをリストするようになり、上記のエラーは発生しなくなりました。

ただし、phpinfo()にはmongoがなく、mongoクライアントを使用してWebページを実行すると、次のエラーが発生します:

FatalErrorExceptionクラス 'MongoClient'が見つかりません

それで、私は次のことを繰り返しました:Sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

そして今、私のモンゴは最新であると私に言っています:

pecl/mongoはすでにインストールされており、リリースされたバージョン1.5.5と同じです。

追加情報:

  • PHPバージョン:PHP 5.5.14(cli)(ビルド:2014年6月28日10:29:43)
  • Mongoバージョン:MongoDBシェルバージョン:2.6.3
  • Mongoクライアント:1.5.5
3
zack_falcon

php --versionまたは/Applications/XAMPP/xamppfiles/bin/php --versionと入力しましたか?そして、どのphp.iniにその行を追加しましたか? /etc/php.iniまたは/Applications/XAMPP/xamppfiles/etc/php.iniへ?

最初のパスは常にOS-Xのデフォルトを参照しますPHP(PHP5.4)、後のパスはXAMPPを参照しますPHP(PHP5.5であり、異なるAPIとPHP5.4)。

したがって、PHP5.5(XAMPP)用にモジュールをコンパイルし、PHP5.4(OS-X)に追加したと仮定します。それはまったく機能しません!正しいphp.iniファイルの最後にmongoso-Pathを追加する必要があります。これは、あなたの場合、/Applications/XAMPP/xamppfiles/lib/php.iniにあるXAMPP用のファイルです。

4
heiglandreas

私はこれに何日も問題がありました。 XAMPP\etc\php.iniであることがわかりました。 /usr/local/php5-5.6.25-20160831-101628/lib/php/extensions/no-debug-non-zts-20131226/mongo.soを追加しましたが、正常に機能しました。ターミナルのmongo.soファイルの場所を見つけるには、locate mongo.soと入力します

0
Jase Moorcroft