我有 mod perl 2 代码,正在 PerlRequire 加载的脚本中执行 Apache::DBI->connect_on_init($dsn, $user, $passwd);
。
但是在处理请求时,执行 DBI->connect_cached($dsn, $user, $passwd)
会创建一个附加连接,而不是使用在子进程初始化时创建的连接。 (使用 DBI 代替 Apache::DBI,因为该代码也在非 Apache 上下文中使用。)
如何让它使用已经缓存的连接?
最佳答案
设置$Apache::DBI::DEBUG=2
显示DBI创建的连接有一个
额外属性设置;将该属性添加到 connect_on_init 调用中使得
重用缓存的连接:
Apache::DBI->connect_on_init($dsn, $user, $passwd, {
dbi_connect_method => 'Apache::DBI::connect'
});
关于perl - Apache::DBI->connect_on_init 数据库连接未使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42682116/