RE: Why we don't like PHP /

php.internals

Hans Zaunere

21 years ago
> > The Apache2 debate is more interesting. I am just running up a nice
new
> > AMD64, with SUSE9.1 (no 9.2 disk handy), and the first thing I find
-
> > and which does not bother me at all - ONLY Apache2 in the
distribution.
> > I KNOW all the reasons for feet dragging, and I am doing it myself
over
> > VCL/Win32 and Microsoft's latest 'standards', but at some point we
will
> > all have to give in an move on. Is now not the time at least to
start
> > treating Apache2 as a current version, and start looking into the
problems?
> > What problems? Threading will never be fixed in the large hundreds of > 3rd-party library sense. So there is nothing to fix there. The only > question is whether we start recommending Apache2-prefork over
Apache1.
> As far as I am concerned we start doing that when a majority of main
PHP
> developers switch to Apache2-prefork. Personally I am completely
That presents somewhat of a chicken-and-egg problem. Production sites won't be compelled to make a move until PHP recommends it in some way, or if there is a killer feature that pulls people in, regardless of the perceived stability.
> unmotivated to make that change because I have a boatload of other
modules
> written against the Apache1 API that I would need to port to Apache2
and
> there just isn't a killer feature in Apache2 that warrants doing all
that
> work for me at this point and Apache1 works fine. There isn't that
much
> for a web server to do. We just need a simple working server. > > If I am in the minority I don't mind suggesting people use Apache2,
but we
> need a bunch of PHP developers to stand up and say they are using > Apache2-prefork in large production systems. It has never been a
matter
> of not liking Apache2 or having some irrational bias against it, it is > purely a matter of what we use and what we know. If someone reports a > problem with PHP running under Apache1 we know how to fix that. For
other
> servers, including Apache2, the pool of people familiar enough with it
to
> provide decent support is much smaller. The documentation should
probably
> be changed to better reflect that and make it sound less negative
towards
> Apache2. > > My personal view is that the bucket brigade API in Apache2 is > unneccesarily complex and quirky and we mostly have to defeat it
anyway
> with PHP so it doesn't add anything for us. It just gets in the way. > There are a few exceptions to that, but not enough for me to be worth
the
> complexity and the overhead.
I think this Apache 2 discussion underscores a change in the AMP platform as a whole. We're seeing significant new versions of all components - PHP 5, Apache 2, and MySQL 4.1 - and at the same time, a move to commodity 64bit hardware platforms. While "if it ain't broke, don't fix it" are words to live by, at some point things should move forward. PHP has always been forward thinking, and while Apache 2 might pose some technical challenges, it's in the pipeline just as PHP 5 is. Sure, PHP 4, MySQL 4.0, and Apache 1 will go down in history as a powerful combination that changed the way much of the web develops and operates. Changing from that is hard, especially when there's no real compelling reason to do so. Then perhaps some striking new functionality would push PHP 5/Apache 2. While Apache 2 introduces new complexities, using some of the new features could be advantageous, and a step towards the next generation. For instance, allowing PHP to reach deeper into Apache, to a level similar to that of mod_perl, could provide significant new features and value. Getting PHP to control URL rewriting and logging, for example, could be new features that drive demands from end-developers, and at the same time generates interest and challenges for those developing PHP and Apache themselves. With other new developments like 64bit platforms, simply, "times, they are a-changing." Does it make sense to change things just for the sake of keeping up with version numbers? Of course not. But changing to enable important new functionality might drive development on both ends. --- Hans Zaunere President, Founder New York PHP AMP Technology http://www.nyphp.org

Rasmus Lerdorf

21 years ago
Hans Zaunere wrote:
> That presents somewhat of a chicken-and-egg problem. Production sites > won't be compelled to make a move until PHP recommends it in some way, > or if there is a killer feature that pulls people in, regardless of the > perceived stability.
Right, and they shouldn't. If there is no compelling reason to switch, why in the world should they? And why should we try to push them away from a stable platform?
> Then perhaps some striking new functionality would push PHP 5/Apache 2. > While Apache 2 introduces new complexities, using some of the new > features could be advantageous, and a step towards the next generation. > For instance, allowing PHP to reach deeper into Apache, to a level > similar to that of mod_perl, could provide significant new features and > value. Getting PHP to control URL rewriting and logging, for example, > could be new features that drive demands from end-developers, and at the > same time generates interest and challenges for those developing PHP and > Apache themselves.
That has nothing to do with Apache2 and has been available for Apache1 for years. It just isn't a very popular feature. See the apache_hooks code. -Rasmus

Mike Robinson

21 years ago
Rasmus Lerdorf wrote:
> > Hans Zaunere wrote: > > That presents somewhat of a chicken-and-egg problem. > > Production sites won't be compelled to make a move until PHP > > recommends it in some way, or if there is a killer feature > > that pulls people in, regardless of the perceived stability. > > Right, and they shouldn't. If there is no compelling reason > to switch, why in the world should they? And why should we > try to push them away from a stable platform?
Absolutely. All things considered, the gap between PHP5 and Apache2 is understandable. Killer features don't draw people, solutions to killer problems do. When using Apache-2.x offers a solution to a killer problem that Apache-1.3.x can't solve, that gap will close on its own. I can't imagine why anyone would want to tamper with this process, it has worked so well for so long. Best, Mike Robinson

Marc Richards

21 years ago
Mike Robinson wrote:
> Rasmus Lerdorf wrote: > >>Hans Zaunere wrote: >> >>>That presents somewhat of a chicken-and-egg problem. >>>Production sites won't be compelled to make a move until PHP >>>recommends it in some way, or if there is a killer feature >>>that pulls people in, regardless of the perceived stability. >> >>Right, and they shouldn't. If there is no compelling reason >>to switch, why in the world should they? And why should we >>try to push them away from a stable platform? > > > Absolutely. All things considered, the gap between PHP5 and Apache2 > is understandable. Killer features don't draw people, solutions to > killer problems do. When using Apache-2.x offers a solution to a > killer problem that Apache-1.3.x can't solve, that gap will close > on its own. I can't imagine why anyone would want to tamper with > this process, it has worked so well for so long.
It is not quite that simple. Firstly, it is important to realize that there are people who have killer problems or want killer features from Apache2, it is just that none of those people are PHP devs. This is why the topic keeps getting rehashed. But for better or worse, the issue won't be addressed until the PHP devs (or someone else who is sufficiently knowledegable) feels the need to address it because it affects the systems use/manage/care about in their day to day lives...that is just how the system works. Secondly, just because I don't have a killer problem *yet* doesn't mean I should indefinitely delay upgrading. There is some value in staying current with the product that is being actively devloped. It isn't always the best way to go about things, but sometimes it can be less painful to do your upgrades incrementally rather than have one huge revolutionary change. Some the Apache2 features that I am most interested in (LDAP and WebDAV related) won't be available till 2.2. however if I waited till 2.2 to do the upgrade from 1.3, and setup the new LDAP and WebDAV stuff at the same time, I would have a lot more balls in the air than if I had just stayed "current enough". I am not saying that the PHP devs should be forced to fix problems that they don't have. I am just saying that it isn't all as simple as you are making it out to be. Marc