ID: 26117 Updated by: [EMAIL PROTECTED] Reported By: spam at vrana dot cz -Status: Open +Status: Feedback Bug Type: MySQL related Operating System: Linux PHP Version: 4.3.3 New Comment:
When the "too many connections" problem occurs, have you tried running "show full processlist;" query to see if infact all connections use the same database? Previous Comments: ------------------------------------------------------------------------ [2003-11-05 03:24:59] spam at vrana dot cz This is not the case. Believe me that I have read all similar bugs and this is different. I also have read carefuly the manual and I understand everything written there about persistent connections. There is written in the Persistent Database Connections chapter of manual: An 'identical' connection is a connection that was opened to the same host, with the same username and the same password (where applicable). So it's not true that by mysql_select_db() with different database name the connection can't be reused. Anyway I use the same database in all scripts. I know that connection is persistent only over the child. Thus I wrote that Apache configuration directive MaxClients is set to 150. ------------------------------------------------------------------------ [2003-11-04 13:53:56] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php If you go mysql_select_db() then the persistent connection you've created becomes specific to that particular database. Which may explain why those connections are not re-used. Also, persistent connections are per-child, meaning that if 1 Apache child opens connections only that child has a pre-existing connection avaliable. If a subsequent request is handled by another child, which does not yet have a MySQL connection, it'll create a new connection. ------------------------------------------------------------------------ [2003-11-04 11:00:20] spam at vrana dot cz Description: ------------ Configuration: Apache 1.3.28 MySQL 4.0.15a With Apache configuration directive MaxClients set to 150, the number of database connection raised up to 466 (until MySQL denied connections with Too many connections error). In all scripts I use the same mysql_pconnect("localhost", "user", "pwd"). MySQL command SHOW PROCESSLIST showed that all 466 connections were made with the same connection parameters. All connections were in state Sleep. I am connecting to MySQL only from PHP module in Apache so I think this behavior is caused by some bug in handling with connection pool in PHP. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26117&edit=1