Php 如何创建DBAL默认连接?

Php 如何创建DBAL默认连接?,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我想使用创建我自己的monolog处理程序 现在,我的处理程序需要这样的PDO连接 $logger->pushHandler(new LogHandler(new PDO("mysql:host=$host;dbname=$dbname", $user, $pass))); $logger->addInfo('My logger is now ready'); 然后告诉我将该连接作为服务插入 像这样 doctrine.dbal.default.wrapped_connection:

我想使用创建我自己的monolog处理程序

现在,我的处理程序需要这样的PDO连接

$logger->pushHandler(new LogHandler(new PDO("mysql:host=$host;dbname=$dbname", $user, $pass)));
$logger->addInfo('My logger is now ready');
然后告诉我将该连接作为服务插入

像这样

doctrine.dbal.default.wrapped_connection:
    factory_service: doctrine.dbal.default_connection
    factory_method: getWrappedConnection
    class: PDO

my.monologhandler.pdo:
    class: sojeans\BackBundle\Monolog\Handler\PDOHandler
    arguments:
        - '@doctrine.dbal.default.wrapped_connection'
    tags:
        - { name: log_handler }
但我得到了循环引用错误,所以其他人告诉我这样做

这里有一个循环引用:您需要创建doctrine.dbal.default_连接服务来创建doctrine.dbal.default.wrapped_连接````(因为它是工厂服务),此服务使用记录器


但我不知道如何做到这一点。

尝试向您的条令配置添加一个没有调试或分析功能的新连接:

doctrine:
    dbal:
        connections:
            default:
                driver:   %database_driver%
                host:     %database_host%
                port:     %database_port%
                dbname:   %database_name%
                user:     %database_user%
                password: %database_password%
                charset:  UTF8
            logger:
                driver:   %database_driver%
                host:     %database_host%
                port:     %database_port%
                dbname:   %database_name%
                user:     %database_user%
                password: %database_password%
                charset:  UTF8
                logging:   false
                profiling: false
然后使用新的
logger\u连接
服务:

doctrine.dbal.logger.wrapped_connection:
    factory_service: doctrine.dbal.logger_connection
    factory_method: getWrappedConnection
    class: PDO

my.monologhandler.pdo:
    class: sojeans\BackBundle\Monolog\Handler\PDOHandler
    arguments:
        - @doctrine.dbal.logger.wrapped_connection
    tags:
        - { name: log_handler }

让我知道这是否有效。

您是否在config.yml中配置了条令包?我在“条令”下得到了此错误
无法识别的选项“logger\u connection”