Apache :: DBI-> connect_on_init数据库连接未使用

时间:2017-03-08 21:19:50

标签: perl apache-dbi

我有一个在PerlRequire加载的脚本中执行Apache::DBI->connect_on_init($dsn, $user, $passwd);的mod perl 2代码。

但是在处理请求时,执行DBI->connect_cached($dsn, $user, $passwd)正在创建一个额外的连接,而不是使用在子init上创建的连接。 (使用DBI代替Apache :: DBI,因为该代码也用于非apache上下文。)

如何让它使用已缓存的连接?

1 个答案:

答案 0 :(得分:2)

设置$Apache::DBI::DEBUG=2表示DBI创建的连接有一个 额外属性集;将该属性添加到connect_on_init调用使得  缓存连接可以重复使用:

Apache::DBI->connect_on_init($dsn, $user, $passwd, {
    dbi_connect_method => 'Apache::DBI::connect'
});