我尝试使用this discussion about casting the result of malloc
设置PHP 7.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()
的屏幕截图:
Mongo driver for PHP. (v1.2.9)
对我而言,看起来像MongoDB驱动程序应该加载,但我的脚本抱怨他们无法找到Mongo
类。我已经创建了一个小脚本来显示问题:
<?php
if(class_exists('Mongo') || class_exists('MongoClient')) {
echo "EUREKA!";
} else {
echo "Still not loading...";
}
?>
运行脚本时,它返回Still not loading...
。我已经没有想法,有没有人可以指导我朝着正确的方向前进?
答案 0 :(得分: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 - &#34; Mongo&#34;和#34; MongoClient&#34;不属于他们之中。