From owner-freebsd-questions@FreeBSD.ORG Wed Mar 5 17:14:53 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F28401065675 for ; Wed, 5 Mar 2008 17:14:52 +0000 (UTC) (envelope-from fbsd.questions@rachie.is-a-geek.net) Received: from snoogles.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id 87E148FC1C for ; Wed, 5 Mar 2008 17:14:52 +0000 (UTC) (envelope-from fbsd.questions@rachie.is-a-geek.net) Received: from localhost (localhost [127.0.0.1]) by snoogles.rachie.is-a-geek.net (Postfix) with ESMTP id 938F41CDE4; Wed, 5 Mar 2008 08:14:51 -0900 (AKST) From: Mel To: freebsd-questions@freebsd.org Date: Wed, 5 Mar 2008 18:14:49 +0100 User-Agent: KMail/1.9.7 References: <101567640802270431h69e443c9n63090e4b260f3a7b@mail.gmail.com> <101567640803050811r23c74a2fn58d899f758ad246c@mail.gmail.com> <200803051750.46332.fbsd.questions@rachie.is-a-geek.net> In-Reply-To: <200803051750.46332.fbsd.questions@rachie.is-a-geek.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200803051814.49944.fbsd.questions@rachie.is-a-geek.net> Cc: Simon Street Subject: Re: FreeBSD 6.2+PHP+700 sites = DNS Issues? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Mar 2008 17:14:53 -0000 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 > > 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.