Plus d'informations sur les Software Collections

Que les accrocs de la stabilité se rassurent, PHP 5.3.3 reste la version standard fournit avec RHEL-6.

Nous disposerons donc bientôt d'un moyen officiel et supporté d'installer PHP version 5.4, en parallèle  de la version système, sans affecté les composants standards. L'annonce prévoit un cycle de vie de 3 ans.

Attention  il s'agit pour l'instant uniquement d'une version Beta destinée à l'évaluation.

Installation

Activation du canal de distribution (nécessite une souscription active) depuis l'interface web RHN ou en ligne de commande :

# rhn-channel --add --channel=rhel-x86_64-server-6-rhscl-1-beta

Installation du meta-paquet et des composants par défaut :

# yum install php54
...
======================================================================================================================================================
 Package                            Arch                    Version                          Repository                                          Size
======================================================================================================================================================
Installing:
 php54                              x86_64                  1-7.el6                          rhel-x86_64-server-6-rhscl-1-beta                  3.3 k
Installing for dependencies:
 php54-php-cli                      x86_64                  5.4.14-3.el6                     rhel-x86_64-server-6-rhscl-1-beta                  2.6 M
 php54-php-common                   x86_64                  5.4.14-3.el6                     rhel-x86_64-server-6-rhscl-1-beta                  566 k
 php54-php-pear                     noarch                  1:1.9.4-7.el6                    rhel-x86_64-server-6-rhscl-1-beta                  370 k
 php54-php-process                  x86_64                  5.4.14-3.el6                     rhel-x86_64-server-6-rhscl-1-beta                   45 k
 php54-php-xml                      x86_64                  5.4.14-3.el6                     rhel-x86_64-server-6-rhscl-1-beta                  109 k
 php54-runtime                      x86_64                  1-7.el6                          rhel-x86_64-server-6-rhscl-1-beta                  1.0 M

Transaction Summary
======================================================================================================================================================
Install       7 Package(s)

Total download size: 4.7 M
Installed size: 0 
Is this ok [y/N]: y

C'est tout ;)

Utilisation

La version par défaut reste la 5.3.3

# php -v
PHP 5.3.3 (cli) (built: Nov 29 2012 04:12:23)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Il faut donc "explicitement" demander l'utilisation de la version SCL, manière standard (pour les SCL) :

# scl enable php54 "php -v"
PHP 5.4.14 (cli) (built: May 23 2013 07:42:19)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

On peut aussi (dans le cas de cette collection, pas forcément pour les autres) :

# /opt/rh/php54/root/usr/bin/php -v
PHP 5.4.14 (cli) (built: May 23 2013 07:42:19)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

Vous pouvez aussi activer la collection de manière permanente

# source /opt/rh/php54/enable
# php -v
PHP 5.4.14 (cli) (built: May 23 2013 07:42:19)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

Utilisation avec Apache

Plusieurs solutions sont possibles, voyons uniquement le cas de l'utilisation de mod_php

# yum install php54-php

Attention : apache ne peut pas charger 2 fois le module php5, donc si le module standard est présent, au lancement vous obtiendrez le message

[Sun Jun 16 16:51:01 2013] [warn] module php5_module is already loaded, skipping

Il faut donc désinstaller (ou désactiver) le module standard et ensuite Apache utilisera le PHP 5.4 de la collection.

Conclusion

Il s'agit pour moi d'une nouveauté particulièrement intéressante qui va sans doute aider à l'adoption d'une version récente de PHP dans le monde de l'entreprise.

Les utilisateurs de CentOS ou des autres clones pourront aussi essayer les paquets mis à disposition sur le site du projet communautaire : Software Collections

Questions, sans réponse pour l'instant :

  • Pour CentOS, ces paquets seront-ils mis à disposition dans un dépôt officiel ou tiers (comme celui de tru pour DTS) ?
  • Aura-t-on aussi par la suite une collection php55 ?
  • Aura-t-un des paquets pour RHEL-5 ?
  • Aura-t-on des extensions complémentaires dans EPEL ?
  • Quelle sera la version finale embarquée ?