Apache2

php.internals

Marc Richards

23 years ago
I know that Apache 2 discussions have come up before, so I will make my question very specific. Given that pre-fork is the default Apache mpm on linux systems, why doesn't PHP have non-experimental support for Apache 2 when using this module? I realize that there are thread-saftey issues when using the worker mpm, but I fail to understand why experimental status is not restricted to non pre-fork modules, especially considering that pre-fork is default configuration for the official apache binaries and on most linux distros. I also realize that not everybody will be immediately convinced by the virtues of apache 2, but there are still very ligitimate reasons for using it. For example, there are newer modules (like Subversion) that require Apache 2.0, there are new features like filtering and IPv6, and also now that Apache 2 has better support on Windows it is easier to standardize on Apache 2 accross OSs even if you only install php on you linux boxes. The imporoved documentation and config directives alone are reason enough for me to upgrade. I understand that PHP development is driven by volunteers who don't have unlimited time to develop features that do not interest them, and I understand that there were a lot of compatibility problems with Apache in the beginning, but it seems like at this point it is just being marked as experimental out of spite. Isn't Apache 2 fairly similar (in terms of stability) to 1.3 when using the prefork mpm? What would it take at this point to get it declared stable? Is there a problem with the code or is it just fear of the unkown and untested? Is this the responsiblility of the PHP QA team? Can users help out with testing? Redhat apparently feels confident enough to include Apache 2 (and PHP4) in their upcoming Redhat Enterprise 3 product (http://ftp.redhat.com/pub/redhat/linux/beta/taroon/en/as/i386/RELEASE-NOTES -en), so I assume that at least they have tested it. I often feel like there are features (Apache2 support, Application level vars, Built in DB abstraction) that many users want and that come up over and over but just get dismissed because the don't necessarily appeal to the current developers, even though they might be beneficial to the community at large. I am in now way blaming the developers for this, it comes with the territory of the current development model. It would be nice however if there was an wat users who aren't C coders to make there collective voices heard with regards to features, and maybe then a company like Zend could sponsor a developer to work on those features. Marc P.S. This wasn't just a stress reliving rant, I am actually interested in answers to my question.

Ilia A.

23 years ago
I wouldn't worry about the EXPERIMENTAL label, but rather whether the PHP's Apache 2 interface works for you and if there are any bug reports that may affect you. Personally, I do not yet see a reason to switch to Apache 2 from Apache 1, but that's just me. Comparatively speaking, Apache 1 PHP interface has been used & developed for several years, while Apache 2 interface (current implementation) is less then a year old. Every release we fix several bugs, which at least in part responsible for it's EXPERIMENTAL status.
>Is this the responsibility of the PHP QA team?
QA team is a very small group of people who work very hard at solving bugs, but time constraits and the scale task do not allow us to cover everything. Priority is given to commonly used extensions and configuration. As far as I am concerned Apache 2 is not as high on the priority list as Apache 1 or MySQL, etc...
> Can users help out with testing?
Definitely, try PHP releases as they come out, especially the Release Candidates (RC) and report any bugs that you find. If you can suggest a patch to the problem, even better :).
> Redhat apparently feels > confident enough to include Apache 2 (and PHP4) in their upcoming Redhat > Enterprise 3 product > (http://ftp.redhat.com/pub/redhat/linux/beta/taroon/en/as/i386/RELEASE-NOTE >S -en), so I assume that at least they have tested it.
Redhat released a beta compiler despite warnings from developers of said compiler. Ilia

Cristiano Duarte

23 years ago
"Ilia Alshanetsky" <ilia@prohost.org> escreveu na mensagem news:200308091839.42975.ilia@prohost.org...
> I wouldn't worry about the EXPERIMENTAL label, but rather whether the
PHP's
> Apache 2 interface works for you and if there are any bug reports that may > affect you. Personally, I do not yet see a reason to switch to Apache 2
from
> Apache 1, but that's just me. Comparatively speaking, Apache 1 PHP
interface
> has been used & developed for several years, while Apache 2 interface > (current implementation) is less then a year old. Every release we fix > several bugs, which at least in part responsible for it's EXPERIMENTAL > status.
Are these bugs related to Apache2 interface or Apache2 multithreaded (worker) ?
> Redhat released a beta compiler despite warnings from developers of said > compiler.
Shame on them. :-( Cristiano Duarte

Ilia A.

23 years ago
> Are these bugs related to Apache2 interface or Apache2 multithreaded > (worker) ?
Both. Ilia

Cristiano Duarte

23 years ago
Despite all warning and the EXPERIMENTAL label, I'm using Apache2 on production since last year. IMHO, the new features available (filter modules) and the complete rewrite of some parts made Apache2 very attractive and faster (YMMV). I implemented UFU (User Friendly URLs) in apache (httpd.conf) using some modules and it works great ! After this, some improvements on the server(optimization, PHPA cache) and the new MVC framework I designed, my Java developer stopped making fun of PHP. And when I told him about the new features of PHP5 he realized that his effords to make Java the default development language in my company (instead of PHP) would lead to /dev/null. It were not a "bed of roses", I still have some problems specially with the size of apache process using PHP (10-20 Mb each). So I limited the number of concurrent apache process and now it works smoothly on a P4 with 512Mb RAM. Cristiano Duarte "Ilia Alshanetsky" <ilia@prohost.org> escreveu na mensagem news:200308091839.42975.ilia@prohost.org...
> I wouldn't worry about the EXPERIMENTAL label, but rather whether the
PHP's
> Apache 2 interface works for you and if there are any bug reports that may > affect you. Personally, I do not yet see a reason to switch to Apache 2
from
> Apache 1, but that's just me. Comparatively speaking, Apache 1 PHP
interface
> has been used & developed for several years, while Apache 2 interface > (current implementation) is less then a year old. Every release we fix > several bugs, which at least in part responsible for it's EXPERIMENTAL > status. > > >Is this the responsibility of the PHP QA team? > > QA team is a very small group of people who work very hard at solving
bugs,
> but time constraits and the scale task do not allow us to cover
everything.
> Priority is given to commonly used extensions and configuration. As far as
I
> am concerned Apache 2 is not as high on the priority list as Apache 1 or > MySQL, etc... > > > Can users help out with testing? > > Definitely, try PHP releases as they come out, especially the Release > Candidates (RC) and report any bugs that you find. If you can suggest a
patch
> to the problem, even better :). > > > Redhat apparently feels > > confident enough to include Apache 2 (and PHP4) in their upcoming Redhat > > Enterprise 3 product > >
(http://ftp.redhat.com/pub/redhat/linux/beta/taroon/en/as/i386/RELEASE-NOTE