我正在尝试配置 MongoDB 以在虚拟 Ubuntu 14.04 机器上使用我的 Laravel 5.1 Homestead 实例。我能够使用 sudo pecl install mongodb
成功安装支持 PHP 7.0 的最新版本的 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
和vagrant reload --provision
重启 Ubuntu 机器 - 使用
sudo service nginx restart
和sudo service php7.0-fpm restart
重新启动 PHP 和 Nginx
都没有用。
最佳答案
正如您提到的,您正在使用适用于 PHP 7 的新 Mongo 扩展。
类名已从旧版本更改,即
MongoClient
现在是 MongoDB\Driver\Manager
MongoDate
现在是 MongoDB\BSON\UTCDateTime
我不确定所有内容的向后兼容程度如何,但这应该可以帮助您入门!
关于php - fatal error : Class 'MongoDate' not found when using mongodb php driver 1. 1.2 和 PHP 7.0.2 - Laravel 5.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34667609/