我试图用用于PHP的Mongo驱动程序。(v1.2.9)设置PHP7.1.6.1安装,但是Mongo类没有加载,尽管phpinfo()告诉我已经加载了mongo扩展。
以下是我所做的:
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。当我运行php -i | grep mongo时,我得到以下输出:
/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()的截图:

在我看来,这看起来像应该加载的MongoDB驱动程序,但是我的脚本抱怨它们找不到Mongo类。我创建了一个小脚本来展示这个问题:
<?php
if(class_exists('Mongo') || class_exists('MongoClient')) {
echo "EUREKA!";
} else {
echo "Still not loading...";
}
?>运行脚本时,它返回Still not loading...。我的想法用完了,有没有人能指引我走向正确的方向?
发布于 2017-06-19 12:24:53
https://github.com/mongodb/mongo-php-driver说:
请注意,新的HHVM和PHP驱动程序实现了与http://pecl.php.net/package/mongo的遗留驱动程序不同的API;因此,使用遗留驱动程序的现有库(例如Doctrine的ODM)将无法与新的驱动程序一起工作。
课程列表在http://docs.php.net/manual/en/set.mongodb.php -- "Mongo“和"MongoClient”不在其中。
https://stackoverflow.com/questions/44630412
复制相似问题