我正在尝试将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
当我尝试运行我的迁移和种子php artisan migrate:refresh --seed
?
我已经尝试过:
用vagrant reload
和重启Ubuntu机器vagrant reload --provision
使用sudo service nginx restart
和重新启动PHP和Nginxsudo service php7.0-fpm restart
两者都没有奏效.
正如您所提到的,您正在使用PHP 7的新Mongo扩展.
类名已从旧版本更改,即
MongoClient
就是现在 MongoDB\Driver\Manager
MongoDate
就是现在 MongoDB\BSON\UTCDateTime
我不确定向后兼容一切,但这应该让你开始!