问题描述:
本来项目运行的好好的,搬了一次办公室(电脑主机一起搬的),第二天的时候就登录不了了。
php版本和扩展没有改变,且没有修改任何配置,我尝试重启php5-fpm 服务,又重启nginx服务,再登录还是老样子。
报错如下:
exception 'yii\base\ErrorException' with message 'Class 'MongoClient' not found' in /home/user/YiiProject/src/vendor/yiisoft/yii2-mongodb/Connection.php:247 Stack trace: #0 [internal function]: yii\base\ErrorHandler->handleFatalError() #1 {main}
解决方法:
$ sudo vi /etc/php5/mods-available/mongo.ini
在mongo.ini里面检查 extension = mongo.so 是否有被注释掉,我的是被注释掉了,因此不能正常加载mongo扩展,放开就可以了。然后再重启php服务就OK了。
这个方法不一定适用于其他情况。
假如扩展没有被注释还是报错,可以尝试以下思路:
解决思路:
查看php已安装的扩展:
php5 -m //查看php 扩展,检查是否有mongo模块。如果没有则需要安装mongo扩展
php -i | grep 'Configuration File' //查找php配置文件
Configuration File (php.ini) Path => /etc/php5/cli Loaded Configuration File => /etc/php5/cli/php.ini
sudo vi /etc/php5/cli/php.ini //打开php配置文件,检查是否有 extension=mongo.so
当修改了php配置文件,需要重启php服务才有效果。
sudo service php5-fpm restart