【问题标题】:Server error 500 using lithium framework and mongodb使用锂框架和mongodb的服务器错误500
【发布时间】:2016-02-14 11:55:38
【问题描述】:

如果我删除查询,我在尝试查询数据库 (mongodb) 时似乎收到 500 错误,它显示视图正常。通过使用快速入门指南和其他在线教程,我没有发现我做错了什么。

模型 - Posts.php

<?php

namespace app\models;

class Posts extends \lithium\data\Model {

}

控制器 - PostsController.php

<?php
/**
 * Lithium: the most rad php framework
 *
 * @copyright     Copyright 2015, Union of RAD (http://union-of-rad.org)
 * @license       http://opensource.org/licenses/bsd-license.php The BSD License
 */

namespace app\controllers;

use app\models\Posts;

class PostsController extends \lithium\action\Controller {

    public function index() {

        $posts = Posts::find('all', array(
            'conditions' => array('author' => 'tom')
        ));

        return $this->render(array('layout' => false));
    }

}

?>

查看 - index.html.php

包含一些文本没有 php 试图让它首先工作。

【问题讨论】:

    标签: php mongodb lithium


    【解决方案1】:

    您可能没有安装 MongoDB 吗? 这也可能与 mod_rewrite 有关(想到了 AllowOverride)。 最好的办法是查看日志。

    日志的位置取决于您使用的内容。如果您在 Ubuntu 上使用 Apache2,它将位于 /var/log/apache2。

    刷新页面时在终端中运行: tail -f /var/log/apache2/error.log 其中error.log 假定为日志文件名。 刷新页面时,您应该能够在终端中看到错误。

    【讨论】:

    • 我已经安装并运行了 Mongo DB。我正在使用 Mac OS X,所以不幸的是这些命令不起作用。该网站只有在模型声明后才会停止工作。
    • 这真的很难说,除非你能发布更多信息。也许找出你的日志放在哪里并向我们展示其中的相关行?
    • 找到了 /private/var/log/apache2/error.log 中的日志,但是没有看到任何与 mongo 或服务器 500 相关的错误
    • 您使用的是哪个版本的 PHP mongodb 驱动程序?能否直接实例化 MongoClient 类(旧版)或 MongoDB\Driver\Manager(新版)?
    猜你喜欢
    • 2015-07-20
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 2013-12-30
    • 2019-10-07
    相关资源
    最近更新 更多