在PHP Phalcon框架中使用MongoDb

在PHP Phalcon框架中使用MongoDb,php,mysql,mongodb,phalcon,Php,Mysql,Mongodb,Phalcon,我目前正在试用Phalcon框架,在尝试将内容保存到Mongo数据库时遇到了一些复杂问题。我可以正确地设置MySQL数据库,没有问题。无论何时通过发送简单请求,都会收到500个内部服务器错误(检查devTools)。我已经按照文档指定的方式设置了所有内容。 这是我的simple index.php引导Mongo初始化以及集合管理器: // Setting Mongo Connection $di->set('mongo', function() { $mongo = new Mon

我目前正在试用Phalcon框架,在尝试将内容保存到Mongo数据库时遇到了一些复杂问题。我可以正确地设置MySQL数据库,没有问题。无论何时通过发送简单请求,都会收到500个内部服务器错误(检查devTools)。我已经按照文档指定的方式设置了所有内容。 这是我的simple index.php引导Mongo初始化以及集合管理器:

// Setting Mongo Connection
$di->set('mongo', function() {
    $mongo = new Mongo();
    return $mongo->selectDb("phalcon");
}, true);

// Setting up the collection Manager
$di->set('collectionManager', function(){
    return new Phalcon\Mvc\Collection\Manager();
}, true);
这是我处理请求的控制器:

public function createAction() {
    $user = new User();

    $user->firstname = "Test ACC";
    $user->lastname = "tester";
    $user->password = "password";
    $user->email = "testing@example.com";

    if($user->create() == false) {
        echo 'Failed to insert into the database' . "\n";
        foreach($user->getMessages as $message) {
            echo $message . "\n";
        }
    } else {
        echo 'Happy Days, it worked';
    }

}
最后是我的简单用户类:

class User extends \Phalcon\Mvc\Collection {

public $firstname;
public $lastname;
public $email;
public $password;
public $created_at = date('Y-m-d H:i:s');
}


非常感谢大家的意见。

我想这是因为您安装的Mongo无效

请尝试打印phpinfo(),并检查是否已加载mongo,如果未加载,请安装它,添加到ini文件(如果使用cli,请不要忘记也添加到cli ini),然后到达mongo完全加载的时刻

试试mongo,不要phalcon。任何简单的连接/插入。您可以在这里看到:对于某些人来说,apache模块版本存在问题。尝试重新安装不同的mongo版本

如果你能打印出来:

echo Phalcon\Version::get(); 
phalcon的安装应该没有问题

要验证mongo安装,请尝试php.net中的任何示例:


有点晚了,但对于其他面临此问题的人来说,最好尝试连接到mongo(在终端中运行“mongo”),以确保mongo在您的开发环境中正确设置

此外,我通常会发现在这种情况下,在mongo中向数据库添加一个集合,然后通过简单的读取来测试CRUD过程,这有助于改进工作。如果在这个阶段一切顺利,那么你知道你的应用程序能够连接,你可以继续写,等等


看起来很有用。

500错误到底是什么?内部服务器错误。我知道,对不起。当您得到500个错误时,tail-f/var/log/httpd/error\u log的输出是什么?根据日志,它表示找不到Mongo()类。它抛出了一个PHP致命错误。你知道为什么吗?我在服务器上安装了mongo>数量不足。尝试Phalcon\Cache\Backend\Mongo,而不仅仅是Mongo。