Php 如何创建DBAL默认连接?
我想使用创建我自己的monolog处理程序 现在,我的处理程序需要这样的PDO连接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:
$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”