无法在Connection.php中找到Mongo类Symfony 2

时间:2015-12-14 13:56:13

标签: php mongodb symfony doctrine-orm doctrine-mongodb

这是一个经常发生的错误,但是由于我尝试了很多东西来修复它,我有点想法。

我有一个带有mongo DB的symfony 2。我已经设置了我的composer.json文件来下载doctrine-mongo和doctrine-mongo-bundle,

"doctrine/mongodb-odm": "1.0.*@beta",
"doctrine/mongodb-odm-bundle": "3.0.*@beta",

为了下载这两个模块,我需要在PHP中安装mongo扩展。我有两个,mongo和mongodb,通过brew安装

brew install php56-mongo
brew install php56-mongodb

我相信我也允许mongo扩展,因为我写的时候

php -m

我得到了这个结果

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
ldap
libxml
mbstring
mhash
mongo
mongodb
mysql
mysqli
mysqlnd
odbc
openssl
pcntl
pcre
PDO
pdo_mysql
PDO_ODBC
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib

你可以在那里看到mongo。

另外php -i返回启用mongo的信息。

但是当我试图在我的项目中点击app_dev.php文件时,我仍然得到这个:

  

Connection.php第284行中的ClassNotFoundException:尝试加载   全局命名空间中的“Mongo”类。你忘记了“使用”吗   声明?

我正在使用Mac OS X并在

上安装了chmod 777
app/logs
app/cache 
web/

递归。

你知道什么可以触发这个吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

PHP Cli和fpm / apache没有使用相同的配置,这意味着您的private Switch sr; private Switch srs; 可能不准确。

您可以在服务器上的php入口点文件中调用http://php.net/manual/en/function.extension-loaded.php,并确保已加载。重启过程也很有帮助。