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

教義ログをデバッグツールバーに出力するかどうかを示します。プロファイラーのデフォルト値は環境によって異なります。開発環境では、デフォルト値はtrue、それ以外の場合は-falseです。

于 2013-02-26T14:54:48.160 に答える