Date: Fri, 18 Dec 2009 07:23:37 +1100 From: Ian Fitzgerald <ianf@ozemail.com.au> To: Matthew Seaman <m.seaman@infracaninophile.co.uk> Cc: freebsd-questions@freebsd.org Subject: Re: Re-compiling PHP changes server responsiveness Message-ID: <4B2A9349.6040208@ozemail.com.au> In-Reply-To: <4B29E495.7030502@infracaninophile.co.uk> References: <4B2851DF.1090107@ozemail.com.au> <4B29E495.7030502@infracaninophile.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Seaman wrote: > Ian Fitzgerald wrote: >> Recently upgraded (fresh install) FBSD 8, including MySql, Apache22, >> phpMyAdmin, KDE4 Gnome2.26 from DVD iso. >> Running ok as test server, but unusual error from added, complex CMS >> prompted me to re-install PHP5 and PHP5-extensions as pkg_add -r >> (using ports files from iso), then with no success, compiling them >> (using ports files from iso), with slightly different make config. >> >> Now server does not respond, either to 'localhost' request on its >> browser, or specific address request from another machine on local >> network. >> >> I assume re-compiling PHP would not clobber hosts or resolv.conf >> (they look ok). >> >> I get: "[warn] (2)No such file or directory: Failed to enable the >> 'httpready' Accept Filter, and no new errors in >> /var/log/httpd-error.log" four times >> >> Tried adding accf_http="YES" to /boot/loader.conf, and re-booting of >> course. > > This is just a warning message and doesn't stop apache working or > not. Enabling > accf_http should give you a bit of a performance boost under heavy > load and help > you withstand certain types of DoS attack, but it's not required. > >> Tried refreshing ports (inital re-compile attempt failed with make >> complaining that postgres-client had been marked invalid - when will >> someone fixit?), and re-compiling apache22 => no change. >> >> ps -auxc: no httpd. >> >> FF3 under Gnome on the machine fetches external pages, of course >> (using router DNS). >> >> What else should I look at? >> > > Try restarting httpd from the command line: > /usr/local/etc/rc.d/apache22 restart > > This will run a configtest and then try and start up apache. Then check > that apache is still running: /usr/local/etc/rc.d/apache22 status > > If apache has mysteriously disappeared and there are no messages in > log files, > then it means apache crashed during the startup process soon after > daemonising. > That's pretty diagnostic for loading a dynamic module that disagrees > with it. > > At a guess, and given that you've reinstalled all your php modules, I > think you > may be being hit by the php module load order problem. In that case, > running > php from the command line will probably also segv on you. This is > something that > has had quite a lot of attention on this list, but there isn't a > really good solution > yet, other than manually reordering the entries in > /usr/local/etc/php/extensions.ini > > Also, if you're running eAccelerator, make sure you recompile it at > the same time > you upgrade the main lang/php5 port: eAccelerator will cause Apache to > crash if you > try and run it against a different version of PHP than it was > originally compiled > for. > > Cheers, > > Matthew > Thank you . That gets me off to a good start. I guess the solution for the maintainers is simple: a script which automates every combination of module load to test for error-prone sequences or combinations. These could then be tested for and a warning notice issued at config time, or after compilation, preferably. It would also provide a definitive answer to the question of whether the sequence/combination is a contributing factor in the first place, or whether some other factor is a pre-condition. -- ianf <http://www.metapixeldesigns.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B2A9349.6040208>