exception 'yii\base\ErrorException' with message 'Class 'MongoClient' not found'

問題描述:

原本項目運行的好好的,搬了一次辦公室(電腦主機一塊兒搬的),次日的時候就登陸不了了。php

php版本和擴展沒有改變,且沒有修改任何配置,我嘗試重啓php5-fpm 服務,又重啓nginx服務,再登陸仍是老樣子。nginx

報錯以下:mongodb

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了。yii2

這個方法不必定適用於其餘狀況。yii

假如擴展沒有被註釋仍是報錯,能夠嘗試如下思路:spa

 

解決思路:

查看php已安裝的擴展:rest

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服務纔有效果。code

sudo service php5-fpm restart 
相關文章
相關標籤/搜索