如何在生产环境中访问Doctrine Profiler?

时间:2013-02-26 13:38:06

标签: php symfony1 doctrine symfony-1.4 profiler

我设置了一个过滤器来计算执行的查询数量,如果超过某个限制,就会向我的数据库写入内容。

它在我的开发环境中运行良好,但是当我在生产环境中测试它时,我的数据库不再返回分析器。我认为它是一个为数据库分析器启用开发环境的设置,但我似乎可以“找到它。”

我使用Symfony1.4和Doctrine。

$database = $databaseManager->getDatabase($name);
if ($database instanceof sfDoctrineDatabase && $profiler = $database->getProfiler())
{
    $events = $profiler->getQueryExecutionEvents();
}

1 个答案:

答案 0 :(得分:3)

您可以使用profiler选项强制探查器在database.yml内部建立连接:

prod:
  master:
    class: sfDoctrineDatabase
    param:
      profiler: true
      dsn: 'mysql:host=localhost;dbname=dbname'
      username: username
      password: password
  

指示是否将doctrine日志输出到调试工具栏。 profiler的默认值取决于环境。在开发环境中,默认值为true,否则为 - false