Class 'MongoDB\Driver\Manager' 未找到 即使 php-mongo 已安装
Class 'MongoDB\Driver\Manager' not found Even if php-mongo has been installed
因为我使用 MongoDB 作为应用程序的数据库,我已经安装了 MongoDB 和 jessenger/laravel-mongodb
作曲家到应用程序。
设置后出现错误
FatalErrorException in Client.php line 81:
Class 'MongoDB\Driver\Manager' not found
但我确定它已经安装了所有要求。
Mongo 已安装。
$ mongo --version
MongoDB shell version v3.4.0
PHP Mongo 驱动程序也已安装
$ brew install php55-mongodb
Warning: homebrew/php/php55-mongodb-1.2.5 already installed
查看加载的 ini 文件,似乎 ext-mongo
存在于 /usr/local/etc/php/5.5/conf.d/
文件夹中。
$ php --ini
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongodb.ini
最后,phpinfo()
没有找到关于 mongo
的任何字词(未加载?)
问题是:
我应该将 extension=
添加到 php.ini
文件吗?如果是这样,OS X 的正确扩展名是什么? (以及如何找到它们?)
(我尝试用 extension=mongo.so
、mongo.dll
或 mongodb.so
以及其他可能性来做到这一点。不起作用。)
phpinfo()
没有显示任何关于 mongo
的信息,这意味着 PHP mongo 驱动程序没有正确安装?如何处理?在文件中添加extension=
?
我是不是不小心丢了东西?
我花了很多时间。任何答案都会节省我的时间。非常感谢。
最终我没有解决问题。但是我删除了内置的 apache2
和 PHP
然后用 brew
重新安装了它们。这次我选择了apache24
和php70
,也转向了php70-mongodb
而不是5.5的
顺便说一句,我确定这是由于安装包未正确安装或设置错误引起的问题。但是我并没有朝那个方向解决问题。我选择了另一个(安装其他版本)。
1。删除内置的 apache
让apache停止
sudo apachectl stop
删除内置的apache
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
2。通过 Homebrew 安装软件包
安装apache(apache被称为httpd
)
brew install httpd24
安装 php 7
brew install php70 --with-apache
安装 PHP MongoDB 的驱动程序
brew install php70-mongodb --with-apache
3。重启阿帕奇
sudo apachectl restart
因为我使用 MongoDB 作为应用程序的数据库,我已经安装了 MongoDB 和 jessenger/laravel-mongodb
作曲家到应用程序。
设置后出现错误
FatalErrorException in Client.php line 81:
Class 'MongoDB\Driver\Manager' not found
但我确定它已经安装了所有要求。
Mongo 已安装。$ mongo --version
MongoDB shell version v3.4.0
PHP Mongo 驱动程序也已安装
$ brew install php55-mongodb
Warning: homebrew/php/php55-mongodb-1.2.5 already installed
查看加载的 ini 文件,似乎 ext-mongo
存在于 /usr/local/etc/php/5.5/conf.d/
文件夹中。
$ php --ini
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongodb.ini
最后,phpinfo()
没有找到关于 mongo
的任何字词(未加载?)
问题是:
我应该将
extension=
添加到php.ini
文件吗?如果是这样,OS X 的正确扩展名是什么? (以及如何找到它们?)(我尝试用
extension=mongo.so
、mongo.dll
或mongodb.so
以及其他可能性来做到这一点。不起作用。)phpinfo()
没有显示任何关于mongo
的信息,这意味着 PHP mongo 驱动程序没有正确安装?如何处理?在文件中添加extension=
?我是不是不小心丢了东西?
我花了很多时间。任何答案都会节省我的时间。非常感谢。
最终我没有解决问题。但是我删除了内置的 apache2
和 PHP
然后用 brew
重新安装了它们。这次我选择了apache24
和php70
,也转向了php70-mongodb
而不是5.5的
顺便说一句,我确定这是由于安装包未正确安装或设置错误引起的问题。但是我并没有朝那个方向解决问题。我选择了另一个(安装其他版本)。
1。删除内置的 apache
让apache停止sudo apachectl stop
删除内置的apache
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
2。通过 Homebrew 安装软件包
安装apache(apache被称为httpd
)
brew install httpd24
安装 php 7
brew install php70 --with-apache
安装 PHP MongoDB 的驱动程序
brew install php70-mongodb --with-apache
3。重启阿帕奇
sudo apachectl restart