Reputation: 10974
I install php 5 (more precisely 5.3.1) as apache module.
After this one of my application becomes randomly hang up on mysql_connect
- sometimes works, sometimes no, sometimes reload of page helps.
How can this be fixed?
I use Windows Vista, Apache/2.2.14 (Win32) PHP/5.3.1 with php module, MySql 5.0.67-community-nt.
After a minute I obtain the error message:
Fatal error: Maximum execution time of 60 seconds exceeded in path\to\mysqlcon.php on line 9
I run MySql locally and heavy load could not be a reason:
SHOW PROCESSLIST
shows about 3 process
SHOW VARIABLES LIKE 'MAX_CONNECTIONS'
is 100.
UPDATE:
At first I thought that this is connected with mysql_connect. But now I can't say for certain.
More difficult thing is when I insert the line to debug:
$fh = fopen("E://_debugLog", 'a'); fwrite($fh, __FILE__ . " : " . __LINE__ . "\n"); fclose($fh);
script start working near that location as a rule.
Restart of apache resolve the issue.
Upvotes: 1
Views: 4504
Reputation: 10974
It is connected with the issue described at Did I find a bug in PHP's `crypt()`?
Upvotes: 1
Reputation: 1841
Try to isolate the problem:
Upvotes: 1
Reputation: 360872
You may be hitting the MySQL connection limit, and the script attempting to connect will spin its wheels until a connection is made available, but runs into the max execution time limit before that happens. When you hit one of these long pauses, hop into the mysql monitor and do SHOW PROCESSLIST
, which will list all connections to the server. You can retrieve the connection limit with SHOW VARIABLES LIKE 'MAX_CONNECTIONS'
. If the number of active processes is close to or at the max_connections value, that's your problem.
Upvotes: 1