Ubuntu 12.04 : compiler PHP5.4
Actuellement, Ubuntu 12.04 fournit PHP en version 5.3. Si vous souhaitez une version plus récente, ou souhaitez des fonctions qui ne sont pas disponibles dans les paquets Ubuntu (comme le support des Threads, par exemple), il faudra compiler vous-même PHP. Ce n'est en fait pas très compliqué...
Commencez par installer les paquets nécessaires:
sudo apt-get install autoconf g++ apache2 apache2-prefork-dev libxml2 libxml2-dev libssl-dev pkg-config curl libcurl4-nss-dev enchant libenchant-dev libjpeg8 libjpeg8-dev libpng12-0 libpng12-dev libvpx1 libvpx-dev libfreetype6 libfreetype6-dev libt1-5 libt1-dev libgmp10 libgmp-dev libicu48 libicu-dev mcrypt libmcrypt4 libmcrypt-dev libpspell-dev libedit2 libedit-dev libsnmp15 libsnmp-dev libxslt1.1 libxslt1-dev
Téléchargez les sources de PHP 5.4, puis dans le dossier des sources, configurez selon votre goût. Personnellement j'ai préféré installer PHP dans un dossier séparé /opt/php-5.4:
./configure \
--prefix=/opt/php-5.4 \
--with-apxs2=/usr/bin/apxs2 \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-config-file-path=/opt/php-5.4/conf \
--with-config-file-scan-dir=/opt/php-5.4/conf.d \
--enable-debug \
--with-openssl \
--with-kerberos \
--with-zlib \
--enable-calendar \
--with-curl \
--with-curlwrappers \
--with-enchant \
--enable-exif \
--enable-ftp \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-vpx-dir=/usr \
--with-freetype-dir=/usr \
--with-t1lib \
--enable-exif \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-intl \
--enable-mbstring \
--with-mcrypt \
--with-mysql \
--with-mysqli \
--enable-pcntl \
--with-pdo-mysql \
--with-pdo-pgsql \
--with-pgsql \
--with-pspell \
--with-libedit \
--with-readline \
--enable-shmop \
--with-snmp \
--enable-soap \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvshm \
--with-xsl \
--enable-zip \
--with-pear \
--enable-zend-signals \
--enable-maintainer-zts
Si tout se passe bien, il ne reste plus qu'à compiler et à installer:
make
sudo make install
Pour créer le fichier de configuration php.ini, on peut se baser sur l'un des fichiers fournis avec les sources:
sudo mkdir /opt/php-5.4/conf
sudo mkdir /opt/php-5.4/conf.d
sudo cp /chemin/vers/sources/php/php.ini-development /opt/php-5.4/conf/php.ini