我有一个在PerlRequire加载的脚本中执行Apache::DBI->connect_on_init($dsn, $user, $passwd);
的mod perl 2代码。
但是在处理请求时,执行DBI->connect_cached($dsn, $user, $passwd)
正在创建一个额外的连接,而不是使用在子init上创建的连接。 (使用DBI代替Apache :: DBI,因为该代码也用于非apache上下文。)
如何让它使用已缓存的连接?
答案 0 :(得分:2)
设置$Apache::DBI::DEBUG=2
表示DBI创建的连接有一个
额外属性集;将该属性添加到connect_on_init调用使得
缓存连接可以重复使用:
Apache::DBI->connect_on_init($dsn, $user, $passwd, {
dbi_connect_method => 'Apache::DBI::connect'
});