Re: Removing web server dependencies from web apps
On 01/09/2012 04:08 PM, Raphael Geissert wrote:
> Leaving aside use cases, workarounds (ugly hacks, I would call them), etc...
> I personally believe those dependencies are incorrect. In the past, when I
> had the chance, I often explained to the corresponding maintainer why they
> were incorrect and what they should have been.
> Code written in PHP shouldn't depend on a webserver. What the code really
> needs is *being interpreted*, which is done by PHP, not by the web server.
> The PHP interpreter (in one of the multiple available flavours) is the
> interface to the server. Unless a PHP webapp has a specific requirement, at
> no time it actually talks to the server directly.
> N.b. there's a difference between "code written in PHP" and a "PHP webapp."
> There could be an argument that webapps usually don't consist on only
> interpreted code, but on images, js, css, and other stuff that is delivered
> by the web server directly. Following that reasoning, one could argue that
> that kind of webapp _does_ require a web server to be functional.
> Additionally, PHP webapps should not depend on different SAPIs (i.e.
> apache2, cgi, fpm, etc.). They should depend on $BEST_SAPI | php5.
> Where BEST_SAPI is usually libapache2-mod-php5 since it works out of the
> box, while most of the other SAPIs require or are intended for special
> The php5 (binary) package has an ORed dependency on all the web SAPIs, so it
> will do the trick for whatever SAPI the user chooses.
Thanks, Raphael, for expressing in correct words, what I failed to explained
correctly. I 100% agree with the above. Also, libapache2-mod-php5 does
Depends: [...] apache2-mpm-prefork (>> 2.0.52) | apache2-mpm-itk,
apache2.2-common, php5-common (= 188.8.131.52-1+b1)
So, when I see things like:
Depends: [...] apache2 | httpd, mysql-client, libapache2-mod-php5 |
php5, php5-mysql, php5-gd
I really wonder: what's the point, if not just annoying me (and others)?
We have the possibility to have a nice default of installing
and *at the same time* make it possible to only select php5-cgi for those of
us who have more complex production environment. So why bother?
If my proposal was to completely remove any instance that would pull
a web server, I'd understand that some would oppose this change. But
that's completely different from what I've been asking for.