致命错误:使用mongodb php驱动程序1.1.2和PHP 7.0.2时未找到类'MongoDate' - Laravel 5.1

Gra*_* S. 4 php ubuntu nginx mongodb laravel

我正在尝试将MongoDB配置为在虚拟Ubuntu 14.04计算机上使用我的Laravel 5.1 Homestead实例.我能够成功安装最新版本的MongoDB使用支持PHP 7.0 sudo pecl install mongodb(这是正确的7.0,没有 sudo pecl install mongo了).

然后我在我的Ubuntu机器上的php.ini文件(全部三个)中添加了扩展名,每个文件都在:

  • /etc/php/7.0/cli/php.ini
  • /etc/php/7.0/fpm/php.ini
  • /etc/php/7.0/cgi/php.ini

这是我写的扩展,它适用于PHP 7.0:

  • extension=mongodb.so (不再是mongo.so了)

当我phpinfo()在浏览器中运行时,它表明MongoDB已正确配置我的PHP 7.0.

如果正确配置了MongoDB,我将如何获得:

Fatal error: Class 'MongoDate' not found
Run Code Online (Sandbox Code Playgroud)

当我尝试运行我的迁移和种子php artisan migrate:refresh --seed

我已经尝试过:

  • vagrant reload和重启Ubuntu机器vagrant reload --provision
  • 使用sudo service nginx restart和重新启动PHP和Nginxsudo service php7.0-fpm restart

两者都没有奏效.

mor*_*top 14

正如您所提到的,您正在使用PHP 7的新Mongo扩展.

类名已从旧版本更改,即

MongoClient 就是现在 MongoDB\Driver\Manager

MongoDate 就是现在 MongoDB\BSON\UTCDateTime

我不确定向后兼容一切,但这应该让你开始!