FreeBSD 6.2+PHP+700 sites = DNS Issues?

Simon Street ginganutz at gmail.com
Wed Mar 5 16:11:27 UTC 2008


On Wed, Mar 5, 2008 at 2:32 PM, Mel <fbsd.questions at rachie.is-a-geek.net> wrote:
>
> On Wednesday 05 March 2008 12:01:11 Simon Street wrote:
>  > In addition i've attempted adding:
>  >
>  > kern.maxfilesperproc=65536
>  > kern.ipc.somaxconn=1024
>  > kern.ipc.maxsockbuf=2097152
>  > kern.maxprocperuid=9000
>  > to sysctl.conf
>  >
>  > kern.maxproc=10240
>  > kern.maxfiles=65536
>  > kern.ipc.nmbclusters=32768
>  > kern.ipc.maxsockets=51200
>  > to loader.conf
>  >
>  > I've also disabled ipv6 in the kernel (can't remember where I saw this
>  > suggestion)
>  >
>  > Post this I've recompiled apache with:
>  > [root@~]# export CFLAGS="-DFD_SETSIZE=12000"
>  > [root@~]# export CXX_FLAGS="-DFD_SETSIZE=12000"
>  > [root@~]# /scripts/easyapache (this is the cPanel script that auto
>  > regens apache/php/addons)
>  >
>  > I'm having a hard time believing that this issue only plagues FreeBSD
>  > and is unfixable!
>  >
>  > Anyone got any ideas on what else I can change?
>
>  Well, you're probably not reaching any CPanel users, so how about posting the
>  offending script. Companies like to blame others, lawyers tell them to.
>
>  What is this script doing anyway, that it needs 12000 open file descriptors?
>
>  --
>  Mel
>
>  Problem with today's modular software: they start with the modules
>     and never get to the software part.
>
The problems php inside apache (700+ sites). Not sure if gmail replied
to my original email properly or not!

Basically, PHP refuses (instantly) to resolve dns with mod_php, but
its fine connecting to an IP with the same piece of fsockopen code.
And it will happily resolve the name if its run from the CLI.

I've been told by cpanel that this is a FreeBSD bug but I'm having a
hard time accepting that. cPanels third line support seem unable to
fix it and are telling me to switch to CGI/suphp which the customer
isn't happy with due to .htaccess stuff.

I'm making an assumption that its a lack of FD's but my attempts to
compile stuff with more seems to be failing, or my assumptions are
wrong.
Code that breaks:
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); // Fails
inside apache2.2/mod_php5, works fine with php5cli on same server
$fp = fsockopen("208.77.188.166",  80, $errno, $errstr, 30);// Works all round

The code fails with:
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses:
getaddrinfo failed: hostname nor servname provided, or not known in
test.php on line 2
But dns is fine on the server.


More information about the freebsd-questions mailing list