Mise à jour de la version de PHP sur Mountain Lion
Depuis quelques temps déjà je n’utilise plus MAMP sur mac os X pour mes développements web.
J’utilise désormais le Apache intégré « nativement » à Lion Mountain (présent également dans les versions antérieures de Mac OS X).
Voici les étapes à suivre pour installer la dernière version de PHP (5.4.9 lors de la rédaction de cet article)
- Si vous souhaitez conserver votre ancienne version de php commencer par faire une copie du fichier /usr/libexec/apache2/libphp5.so
- Télécharger et installer Xcode depuis l’apple store.
Une fois que l’application est installée l’ouvrir pour installer les composants complémentaires « Command Line Tools » depuis les préférences de Xcode.- Télécharger et décompresser l’archive des sources de la dernière version de PHP
- Installer XQuartz (si vous ne l’avez pas déjà fait)
- Installer Imap2007(nous souhaitons pouvoir disposer des fonctionnalités IMAP)
cd /MON/REPERTOIRE/TEMPORAIRE wget ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz tar zxvf imap-2007f.tar.gz cd imap-2007f make osx EXTRACFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" sudo cp c-client/*.h /usr/local/include/ sudo cp c-client/*.c /usr/local/lib sudo cp c-client/c-client.a /usr/local/lib/libc-client.a
- Installer les librairies des dépendances en utilisant HomeBrew
brew install libjpeg brew install libpng brew install mcrypt brew install libxml2 brew install openssl brew install icu4c brew install gd brew install pcre brew install wget
ATTENTION il faut penser à créer le lien symbolique pour le fichier de config de ICU avec la commande ci-dessous, sinon vous risquez d’obtenir un échèque de compilation avec le message configure: error: Unable to detect ICU prefix or /usr/local/bin/icu-config failed. Please verify ICU install prefix and make sure icu-cln -s /usr/local/Cellar/icu4c/<VERSION-ICU>/bin/icu-config /usr/local/bin/icu-config
VERSION-ICU est à remplacé par le numéro de version installé par la commande brew install icu4c pour connaitre cette version il suffit d’exécuter la commande
ls -l /usr/local/Cellar/i*
- Ouvrir un terminal (Applications/Utilitaires) et depuis le dossier contenant les sources de PHP exécuter la commande
./configure --prefix=/usr/local/php549 --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/private/etc --with-apxs2=/usr/sbin/apxs --enable-cli --with-config-file-path=/etc --with-libxml-dir=/usr --with-openssl=/usr --with-kerberos=/usr --with-zlib=/usr --enable-bcmath --with-bz2=/usr --enable-calendar --with-curl=/usr --enable-dba --enable-exif --enable-ftp --with-gd --enable-gd-native-ttf --with-icu-dir=/usr/local --with-iodbc=/usr --with-ldap=/usr --with-ldap-sasl=/usr --with-libedit=/usr --enable-mbstring --enable-mbregex --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/tmp/mysql.sock --with-readline=/usr --enable-shmop --with-snmp=/usr --enable-soap --enable-pcntl --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy --enable-wddx --with-xmlrpc --with-iconv-dir=/usr --with-xsl=/usr --enable-zip --with-imap=/usr/local/imap-2007 --with-kerberos --with-imap-ssl --enable-intl --with-pcre-regex --with-pgsql=/usr --with-pdo-pgsql=/usr --with-freetype-dir=/usr/X11 --with-jpeg-dir=/usr --with-png-dir=/usr/X11
Vous devriez obtenir un message vous informant qu’aucune erreur n’é été rencontré du styleGenerating files configure: creating ./config.status creating main/internal_functions.c creating main/internal_functions_cli.c +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. config.status: creating php5.spec config.status: creating main/build-defs.h config.status: creating scripts/phpize config.status: creating scripts/man1/phpize.1 config.status: creating scripts/php-config config.status: creating scripts/man1/php-config.1 config.status: creating sapi/cli/php.1 config.status: creating main/php_config.h config.status: executing default commands
- Étape de compilation
make ............... ....... .......... Generating phar.php Generating phar.phar PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled. clicommand.inc directorygraphiterator.inc directorytreeiterator.inc invertedregexiterator.inc pharcommand.inc phar.inc Build complete. Don't forget to run 'make test'.
- Puis installation
sudo make install
- Modifier la variable PATH en éditant le fichier /etc/paths pour faire en sorte que la ligne /usr/local/bin soit avant la ligne /usr/bin
- Enfin on peut redémarrer apache
Conclusion
Cette méthode requiert plus de temps que l’installation directement depuis BREW (projet homebrew-php) sur github mais elle offre l’avantage de pouvoir disposer d’une plus fine granularité au niveau des version de PHP et des mises à jour.
Remarques :
Il est possible de profiter en ligne commande de la même version de PHP que celle utilisée par Apache, il faut pour cela ajouter une ligne à votre fichier /etc/paths.
Par exemple pour ajouter la version 5.4.9 il faut ajouter dans notre cas /usr/local/php549/bin (en première ligne)
Si vous préférez less liens symboliques c’est également possible de mettre en place cette technique au lieu de modifier la variable $PATH
Il est également possible de changer la version utilisé par apache en modifiant la directive LoadModule php5_module du fichier de configuration (ie : httpd.conf)






Commentaires récents