[development] PHP version stats

Larry Garfield larry at garfieldtech.com
Sat Mar 24 08:24:44 UTC 2007

On Sat, 24 Mar 2007 06:46:18 +0100 (CET), "Karoly Negyesi" <karoly at negyesi.net> wrote:
>> Wow, I didn't realize that PHP 4 is still so widely used...
> The mesage of the day from Rasmus with which I wholeheartedly agree: we
> could lead instead of follow.
> Let Drupal 7 be PHP 5 only.

Unfortunately there has to be a balancing act there between leading and following.  We don't want to lead ourselves straight into a small niche. :-)

However, someone else (sorry, I forget who) pointed out that, like a lot of things in Drupal, Contrib could lead the way.  Currently there's nothing stopping a module author from writing a module that requires PHP5.  (fQuery comes to mind, and a small number of others.)  Why not let more contribs move that direction, so that Drupal becomes "partially PHP5-encouraged"?  Core and most modules work in PHP 4, but some variable number of modules require PHP 5.  That applies upgrade pressure on hosting companies to upgrade, but in an organic, fluid, and less-risky-to-Drupal way.  (Worst case, module X becomes a small niche only rather than Drupal itself, while still "leading" toward PHP 5.)

Nothing stops that now, of course, as mentioned, but it's not well-noted.  The simplest option, methinks, would be to create a new taxonomy vocab for PHP-version compatibility, and note in documentation somewhere about why it's there and the benefits/risks of making a PHP5-only module.  (I'll volunteer to write said page if people are interested.)  A module could then self-declare whether it required PHP 5 or not, and "let the market take it from there".  Let PHP 4 die the death of a thousand cuts (contrib modules) if bludgeoning it to death with Core itself would be too problematic. :-)  The adoption rate of such modules could also then serve as an informal guide for when it would be "market safe" to bump Drupal core's requirements.

(I think that can be done with just a taxonomy, but I don't know project module well enough to know if it's a special case where it would need an extra field in the database.  Derek, feel free to thwap me if I just made more work for you. <g>)

--Larry Garfield

More information about the development mailing list