Re: Removing web server dependencies from web apps
Thomas Goirand wrote:
[...]
> The issue is that most PHP packages in Debian have dependencies on web
> servers, most of the time with something like this:
>
> Depends: apache2 | httpd, libapache2-mod-php5 | php5-cgi
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,
--
Raphael Geissert - Debian Developer
www.debian.org - get.debian.net
Reply to: