我设置了一个过滤器来计算执行的查询数量,如果超过某个限制,就会向我的数据库写入内容。
它在我的开发环境中运行良好,但是当我在生产环境中测试它时,我的数据库不再返回分析器。我认为它是一个为数据库分析器启用开发环境的设置,但我似乎可以“找到它。”
我使用Symfony1.4和Doctrine。
$database = $databaseManager->getDatabase($name);
if ($database instanceof sfDoctrineDatabase && $profiler = $database->getProfiler())
{
$events = $profiler->getQueryExecutionEvents();
}
答案 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
。