我開始使用Yii2,我想將它與Mongodb連接起來。 所以我試圖按照這兩個網站文件的指示。Yii2上無法連接MongoDB ['Class'MongoDB Driver Manager'找不到']
而且看起來一切都很好,因爲我已經在正常的本地主機上做了一個簡單的測試,並且它工作正常。
但是當我想在Yii2高級模板上測試它時,我無法連接Yii2和Mongodb。
它總是說的錯誤:
PHP Fatal Error 'yii\base\ErrorException' with message 'Class 'MongoDB\Driver\Manager' not found'
in /Applications/MAMP/htdocs/yii/yii2-advanced/vendor/yiisoft/yii2-mongodb/Connection.php:355
這裏就/yii2-advanced/frontend/web/index-test.php的代碼,我使用:
<?php
// NOTE: Make sure this file is not accessible when deployed to production
if (!in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'])) {
die('You are not allowed to access this file.');
}
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');
require(__DIR__ . '/../../vendor/autoload.php');
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../../common/config/bootstrap.php');
require(__DIR__ . '/../config/bootstrap.php');
$mongodb = new MongoClient("mongodb://root:[email protected]:27017/yii2advanced");
$users = $mongodb->yii2advanced->users;
$user = $users->findOne();
print_r($user);
$config = require(__DIR__ . '/../config/test-local.php');
(new yii\web\Application($config))->run();
PS:
我在Mac上使用MAMP PRO。
當我對htdocs/index.php進行測試時,我可以得到$ user的好結果。
對不起我的英文不好。
是mongo extenstion在您的服務器啓用? – yafater
你爲什麼試圖在你的索引中連接到Mongo? 您必須安裝擴展,然後將其配置到您的配置文件中,然後在您的命名空間中根據需要使用MongoDb擴展,畢竟您可以在模型和控制器中使用它,但是您不得在索引文件中定義任何內容。 – sobbe
我只是做了一個測試。 –