Practical mod_perl / HTML Book /



previous page: 20.1.5.6. Apache:DBI does not work
  
page up: HTML Version of the book
  
next page: 20.2. Improving Performance

20.1.5.7. Skipping connection cache during server startup


Does your error_log look like this?

10169 Apache::DBI PerlChildInitHandler
10169 Apache::DBI skipping connection cache during server startup
Database handle destroyed without explicit disconnect at
/usr/lib/perl5/site_perl/5.6.1/Apache/DBI.pm line 29.

If so, you are trying to open a database connection in the parent httpd process. If you do, the children will each get a copy of this handle, causing clashes when the handle is used by two processes at the same time. Each child must have its own unique connection handle.

To avoid this problem, Apache::DBI checks whether it is called during server startup. If so, the module skips the connection cache and returns immediately without a database handle.

You must use the Apache::DBI->connect_on_init( ) method (see the next section) in the startup file to preopen a connection before the child processes are spawned.

 

Continue to:

  • prev: 20.1.5.6. Apache:DBI does not work
  • Table of Contents
  • next: 20.2. Improving Performance







TOP
previous page: 20.1.5.6. Apache:DBI does not work
  
page up: HTML Version of the book
  
next page: 20.2. Improving Performance


Menu

  • HTML Book
  • PDF Book
  • Download Code
  • Table of Contents
  • Errata
  • mod_perl2 User's Guide
  • Sitemap

Search


Add to Google




Creative Commons License


Written by
Eric Cholet (Logilune) and
Stas Bekman (StasoSphere & Free Books).


[ Privacy Policy | Terms of Use | About Us | Search ]

© 2007 StasoSphere.com