gar*_*den 9 mongodb laravel laravel-5
我正在将MongoDB与Laravel集成.我关注此链接jenssegers/laravel-mongodb中的信息.我成功地整合了MongoDB.但是,当我运行代码时,它会抛出此错误
Client.php第56行中的FatalErrorException:找不到类'MongoDB\Driver\Manager'
这是代码
控制器 app/Http/Controller/NewController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\User;
class NewController extends Controller
{
//
public function index(){
$var = User::all();
var_dump($var);
}
}
Run Code Online (Sandbox Code Playgroud)
以下user.php
是我们创建项目时Laravel默认提供的内容
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $collection = 'users_collection';
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
Run Code Online (Sandbox Code Playgroud)
请告诉我为什么我会收到此错误.
Phpinfo - > mongodb部分即将到来.这是一个屏幕截图 phpinfo
J.C*_*ras 13
我不知道它是否是最优雅的解决方案,但它对我有用:
$ sudo pecl install mongodb
$ sudo nano /etc/php5/mods-available/mongodb.ini
并在其中写入:extension = mongodb.so$ sudo ln -sv /etc/php5/mods-available/mongodb.ini /etc/php5/apache2/conf.d/20-mongodb.ini
$ sudo ln -sv /etc/php5/mods-available/mongodb.ini /etc/php5/cli/conf.d/20-mongodb.ini
$ sudo service apache2 restart
可能需要重新安装jenssegers/mongodb: $ composer require jenssegers/mongodb
您可能还需要在ubuntu/debian上重启fpm
sudo service php7.0-fpm restart
Run Code Online (Sandbox Code Playgroud)
对于php5
sudo service php5-fpm restart
Run Code Online (Sandbox Code Playgroud)
另外,请确保extension=mongodb.so
在:
apache2/php.ini
cli/php.ini
fpm/php.ini
Run Code Online (Sandbox Code Playgroud)
检查我做:
locate php.ini | xargs grep mongo
Run Code Online (Sandbox Code Playgroud)
看到php.ini文件:
php --ini
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30471 次 |
最近记录: |