FreeBSD 6.2+PHP+700 sites = DNS Issues?

Simon Street ginganutz at gmail.com
Thu Mar 6 11:12:07 UTC 2008


On Wed, Mar 5, 2008 at 5:14 PM, Mel <fbsd.questions at rachie.is-a-geek.net> wrote:
>
> On Wednesday 05 March 2008 17:50:45 Mel wrote:
>  > On Wednesday 05 March 2008 17:11:25 Simon Street wrote:
>  > > 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.
>  >
>  > Doesn't have anything to do with the DNS, I'm still looking how this can
>  > be, but the error means that no hostname has been given, since php passes
>  > NULL to servname by default (see main/network.c around line 202).
>  > So somewhere along the way the hostname passed to the function gets lost.
>
>  Argh, strike that, the same errorcode is used for unresolvable hostnames. I'm
>  gonna take a guess that the process is chrooted into /usr/local and therefore
>  cannot access /etc/resolv.conf to know what the nameserver is.
>  And, something just entered my mind from way way back - I think if you don't
>  have HostnameLookups enabled, that any attempt to do resolving inside a httpd
>  child, will fail.
>
>  --
>
>
> Mel
>
>  Problem with today's modular software: they start with the modules
>     and never get to the software part.
>

I've copied resolv.conf to /usr/local/etc and HostnameLookups is
already enabled, no joy :( (Have restarted apache also).

Thanks for taking a look though!


More information about the freebsd-questions mailing list