2017-06-19 21 views
1

Mongo driver for PHP. (v1.2.9)でPHP 7.1.6.1インストールを設定しようとしていますが、クラスがロードされていません。phpinfo()はmongo拡張がロードされています。MongoDB PHPドライバがロードされましたが、クラスが見つかりません

pecl install mongodb 
echo 'extension=mongodb.so' > /etc/php/7.1/fpm/conf.d/20-mongodb.ini 
serivce php7.1-fpm restart 
service nginx restart 

これは、MongoDBのPHP拡張モジュールをインストールし、それをロードし、その後、FPMとnginxの両方を再起動します。ここでは

は、私がやったものです。ここで

/etc/php/7.1/cli/conf.d/20-mongodb.ini, 
mongodb 
libmongoc bundled version => 1.5.5 
libmongoc SSL => enabled 
libmongoc SSL library => OpenSSL 
libmongoc crypto => enabled 
libmongoc crypto library => libcrypto 
libmongoc crypto system profile => disabled 
libmongoc SASL => disabled 
mongodb.debug => no value => no value 

phpinfo()のスクリーンショットです:私は php -i | grep mongoを実行すると、私は次のような出力を得る phpinfo() output on HTML page

私にとって、これはそれが必要としてMongoDBのドライバがロードされているように見えますが、私のスクリプトは、彼らができることに文句を言いますMongoクラスが見つかりません。問題を示す小さなスクリプトを作成しました:

<?php 
    if(class_exists('Mongo') || class_exists('MongoClient')) { 
     echo "EUREKA!"; 
    } else { 
     echo "Still not loading..."; 
} 
?> 

スクリプトを実行すると、Still not loading...が返されます。私はアイデアがなくなりました。正しい方向に私を導くことができる人はいますか?

答えて

2

https://github.com/mongodb/mongo-php-driverは言う:

新しいHHVMとPHPドライバはhttp://pecl.php.net/package/mongoでレガシードライバーは異なるAPIを実装することに注意してください。したがって、レガシードライバ(Doctrine MongoDBのODMなど)を使用する既存のライブラリは、新しいドライバでは動作しません。

クラスリストはhttp://docs.php.net/manual/en/set.mongodb.phpです - 「Mongo」と「MongoClient」はそれらの間にありません。

+0

それは、ドキュメントでそれを見逃していたに違いありません。ありがとう! –

関連する問題