Bug #4494: Large numbers of Apache log directives cause PHP to fail

From: Date: Thu, 18 May 2000 01:09:41 +0000
Subject: Bug #4494: Large numbers of Apache log directives cause PHP to fail
Groups: php.dev 
Request: Send a blank email to php-dev+get-18888@lists.php.net to get a copy of this message
From: spencer@wwmg.com Operating system: Solaris 2.6 (sparc) PHP version: 3.0.16 PHP Bug Type: Reproduceable crash Bug description: Large numbers of Apache log directives cause PHP to fail I have around 1600 virtualhosts configured under Apache 1.3.12. The machine has 1 gig of ram, and the following limits are set in /etc/system: * set hard limit on file descriptors set rlim_fd_max = 16384 * set soft limit on file descriptors set rlim_fd_cur = 16384 (other settings have been tried as well) Without PHP compiled in, there is (and hasn't been for over 2 years) no problem. With PHP compiled into apache (as a module), I get "Document contains no data" when trying to open a php file (containing something as simple as echo("blah"); or phpinfo();) If I comment out the transferlog directives (there's one for each virtualhost) it works. If I add in only a few virtualhosts, it works. Add them all, it bombs. So, it would seem that I'm running out of file descriptors, but it doesn't happen without PHP compiled in. Is PHP using -THAT- many more file descriptors? I've even bumped rlim_fd_max = 50000 and still no go. I've tried raising it by using ulimit -n as well. Is this a solaris 2.x problem only? I've just ordered Solaris 8 to see if it will alleviate this problem. Additionally, I've trussed a single process (httpd -X) apache, and seen nothing strange. It's also not dumping core. And no, I do not want to run another apache on a different port, or use less virtualhosts. If anyone has any idea where this limit is being hit, I'd like to know. More: I've tested the same setup under Linux 2.2.15 (on Intel) with the same resource limits, and it worked fine (PHP compiled in, of course). Thank you.

« previous php.dev (#18888) next »