2

我设置了一个过滤器来计算执行的查询数量,并在它们超过一定限制时向我的数据库写入一些内容。

它在我的开发环境中运行良好,但是当我在生产环境中对其进行测试时,我的数据库不再返回探查器。我想这是一个为开发环境启用数据库分析器的设置,但我似乎找不到它。

我使用 Symfony1.4 和 Doctrine。

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

1 回答 1

3

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

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

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

于 2013-02-26T14:54:48.160 回答