PHP 5.3 sous Mac OS X 10.5

Dans un billet précédent, je m’étais lancé dans l’installation de PHP 6. Après avoir découvert les nouvelles fonctionnalités de cette release, je préfère me placer dans une configuration « plus stable » pour travailler. Comme je ne suis pas totalement raisonnable, je vais installer PHP 5.3, version qui devrait sortir courant octobre.

Note, le 18.11.2008 : ce billet décrit comment installer manuellement une version de PHP sur Mac OS X. S’il est intéressant de savoir compiler PHP manuellement, il faut admettre qu’il est bien plus simple d’utiliser MacPorts. Si votre seul but est d’installer PHP, consulter directement ce billet, puis ce billet.

Vous pouvez choisir d’installer la version « stable » (5.2.6 au moment où ce billet a été écrit), la procédure est strictement identique, il suffit juste d’adapter le nom des chemins faisant référence à la version de la release.

Si vous avez lu les billets précédents, vous savez qu’il est nécessaire d’installer « Xcode » et le « SDK d’X11 » (ici pour GD) pour poursuivre l’installation des logiciels à partir des sources.

remarque : si vous choisissez de suivre les manipulations suivantes, vous l’effectuez sous votre responsabilité, une mauvaise manipulation pouvant entraîner la perte de données ou l’instabilité de votre système. Pensez à sauvegarder vos données avant toutes manipulations.

Commencez par télécharger une « Release Candidate » de la version 5.3 de PHP :

http://qa.php.net/

La version téléchargée est l’alpha2 (php-5.3.0alpha2.tar.bz2)

Je vais compiler PHP 5.3 en tant que module d’Apache, avec GD, Getext, MySQL, PostgreSQL, etc…, enfin avec les librairies utilisées précédemment lors de l’installation de PHP6 (à part ICU et Libxml2 qui ont été utilisées pour PHP6).

Si vous avez déjà installé PHP6 en suivant mes billets, il va falloir supprimer les fichiers de la librairie « libxml2 » installée manuellement. En effet, il ne semble pas possible de compiler PHP 5 en ayant les deux versions de la librairie « libxml2 » d’installées (en tout cas, malgré divers essais, je n’y suis pas parvenu, cf. Bug #44294).

Pour supprimer les fichiers installés par l’installation manuelle de « libxml2 » :

cd /usr/local/include
sudo rm -Rf libxml2
cd ..
cd lib
sudo rm -Rf libxml2.*
sudo rm -Rf pkconfig
sudo rm -Rf python2.5
sudo rm xml2-conf.sh
cd ..
cd bin
sudo rm xml2-config

Décompressez les sources de PHP 5.3, configurez, testez et installez :

cd /Users/fabien/Sources/PHP-5.3/
tar -xzvf php-5.3.0alpha2.tar.gz
cd php-5.3.0alpha2
./configure \
--prefix=/usr/local/php5.3 \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-libxml-dir=/usr \
--with-openssl-dir=/usr/bin \
--with-pgsql=/usr/local/pgsql \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-pgsql=/usr/local/pgsql \
--with-pdo-mysql=/usr/local/mysql \
--with-gd \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/X11R6 \
--with-freetype-dir=/usr/X11R6 \
--with-xpm-dir=/usr/X11R6 \
--with-zlib-dir=/usr \
--with-xmlrpc \
--with-xsl=/usr \
--with-curl=/usr/bin \
--with-curlwrappers \
--with-gettext=/usr/local/lib \
--enable-soap \
--enable-cli \
--enable-sockets \
--without-sqlite \
--disable-ipv6 \
--enable-bcmath \
--enable-calendar \
--enable-mbstring \
--disable-mbregex \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx

make
make test
sudo make install

Testons l’intégration de PHP 5.3 comme module d’Apache. Le fichier de configuration d’Apache a été partiellement modifié lors de l’installation de PHP 5.3, cependant, il est nécessaire d’ajouter la ligne suivante au fichier de configuration :

sudo nano /usr/local/apache2/conf/httpd.conf

// Si PHP6 a déjà été installé, ne plus charger son module
// Commentez la ligne suivante :
# LoadModule php6_module        modules/libphp6.so
LoadModule php5_module        modules/libphp5.so

// dans la section , ajouter la ligne suivante :
// Déjà fait si vous avez installé PHP6
AddType application/x-httpd-php .php .phtml

Démarrez Apache :

sudo /usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf -k start

Créez un fichier PHP de test dans le répertoire « htdocs » d’Apache :

sudo nano /usr/local/apache/htdocs/info.php

Tapez “localhost/info.php” dans votre navigateur, vous devriez normalement le rendu du phpinfo();

Bien sûr, en compilant PHP 5 & 6 en module d’Apache, il n’est pas possible d’utiliser simultanément les deux versions.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *