maxproc limit reached with trivial exec() in cgi script

Peter Risdon peter at circlesquared.com
Mon Jun 21 13:13:49 PDT 2004


apache+mod_ssl-1.3.29+2.8.16 (suexec), PHP 4.3.4 (cgi), FreeBSD 4.10-STABLE

exec("ls -l") in a php cgi script works the first time it is run after a 
reboot Every subsequent invocation gives

/kernel: maxproc limit exceeded by uid 1208, please see tuning(7) and 
login.conf(5)

in /var/log/messages and

Warning: exec(): Unable to fork [ls -l]

on the webpage.

A similar problem showed up in April this year:

http://lists.freebsd.org/pipermail/freebsd-questions/2004-April/045102.html

But had no responses. That was also a webserver running php4.

man 7 tuning doesn't mention maxproc, and /etc/login.conf is the 
default, with

         :maxproc=unlimited:\


Googling tells me that unable to fork errors are commonish with php but 
mostly on Windows, often boil down to permissions, and are supposed to 
be improved by using the cgi version. This isn't Windows, permissions 
are fine and I am running as cgi.

I suspect php cgi and apache suexec don't play nicely together. But I'd 
be grateful for any better informed pointers.

TIA

Peter.


More information about the freebsd-questions mailing list