[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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 
> setups.
> 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.
>
> Cheers,
>   
Thanks, Raphael, for expressing in correct words, what I failed to explained
correctly. I 100% agree with the above. Also, libapache2-mod-php5 does
depend
on apache:

Depends: [...] apache2-mpm-prefork (>> 2.0.52) | apache2-mpm-itk,
apache2.2-common, php5-common (= 5.3.8.0-1+b1)

So, when I see things like:

Package: wordpress
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
apache2-mpm-prefork,
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.

Thomas


Reply to: