PHP 6 sous Mac OS X 10.5

Maintenant que nous avons installé PostgreSQL, MySQL et Apache, passons à l’installation PHP en tant que module d’Apache. J’ai choisi d’installer PHP6. L’installation de PHP5 est assez similaire et ne doit pas poser de problème particulier.

Xcode et le SDK d’X11 (pour GD) doivent être installés pour poursuivre effectuer l’installation de PHP à partir des sources.

remarque : si vous choisissez de suivre les manipulations suivantes, vous l’effectuez sous votre responsabilité, une mauvaise manipulation pouvant entrainer 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 un « snapshot » de la version 6 de PHP :

http://snaps.php.net/

La version téléchargée est la suivante (change tous les jours, il s’agit de version de développement) :

« php6.0-200807082030.tar.gz »

Nous avons besoin de la libraire ICU pour PHP6, téléchargez la librairie à l’adresse suivante :

http://download.icu-project.org/files/icu4c/4.0/icu4c-4_0-src.tgz (ici, la version 4.0)

Commencez par décompresser les sources d’ICU dans le répertoire de travail (ici « /Users/fabien/Sources/ ») :

cd /User/fabien/Sources/ICU
tar -xzvf icu4c-4_0-src.tgz

Afin d’éviter une erreur lors de la configuration de PHP (bug #34089), il est nécessaire d’éditer le fichier « ICU/icu/source/config/mh-darwin » ligne 28, remplacez :

## Compiler switches to embed a library name and version information
LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET))

par

## Compiler switches to embed a library name and version information
LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET))

Passez à la compilation et à l’installation de la librairie ICU :

cd icu/source
./configure
gnumake
gnumake install

Installation et compilation de Libxml2 :

Télécharger la dernière version de libxml2 à l’adresse suivante :

ftp://xmlsoft.org/libxml2/LATEST_LIBXML2

Décompressez, configurez, compilez et installez (ici libxml2-2.6.32) :

cd /User/fabien/Sources/Libxml2/
tar -xzvf LATEST_LIBXML2
cd libxml2-2.6.32
./configure
make
sudo make install

Pour compiler PHP avec le support de GD, nous allons installer et compiler les librairies « libjpeg » et « GD » :

Téléchargez « libjpeg » : http://www.ijg.org/files/jpegsrc.v6b.tar.gz

Téléchargez « GD » : http://www.libgd.org/releases/gd-2.0.35.tar.gz

Pour plus d’informations (options de compilation 64bits par exemple), vous pouvez consulter ce document :

http://downloads.topicdesk.com/docs/Installing_GD2_on_OS_X_Server_10_5_Leopard.pdf

Configurez, compilez et installez « libjpeg » :

cd /Users/fabien/Sources/libjpeg
tar -xvf jpegsrc.v6b.tar
cd jpeg-6b
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
// Pour une compilation 32 bits
./configure --enable-shared
make
sudo mkdir -p /usr/local/include
sudo mkdir -p /usr/local/bin
sudo mkdir -p /usr/local/lib
sudo mkdir -p /usr/local/man/man1
sudo make install

Configurez, compilez et installez « GD » :

remarque : j’ai un doute sur l’utilité de compiler GD, et je n’ai pas essayé sans.

cd /Users/fabien/Sources/gd
tar -xzvf gd-2.0.35.tar.gz
cd gd-2.0.35
// compilation 32 bits
./configure
make
sudo make install

Ajoutons le support de Gettext à PHP, téléchargez les sources de Gettext :

ftp://ftp.gnu.org/gnu/gettext/gettext-0.17.tar.gz

Décompressez, configurez et installez Gettext (pour plus d’info) :

cd /Users/fabien/Sources/Gettext
tar -xzvf gettext-0.17.tar.gz
cd gettext-0.17
// compilation 32 bits
./configure
make
sudo make install

Décompressez l’archive de PHP, configurez et compilez :

cd /Users/fabien/PHP-6
tar -xzvf php6.0-200807082030.tar.gz
cd php6.0-200807082030

./configure \
--prefix=/usr/local/php6 \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-icu-dir=/usr/local \
--with-libxml-dir=/usr/local \
--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/bin \
--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 PHP6 comme module d’Apache. Le fichier de configuration d’Apache a été partiellement modifié lors de l’installation de PHP6, cependant, il est nécessaire d’ajouter la ligne suivante au fichier de configuration :

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

// dans la section , ajouter la ligne suivante :
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();

Laisser un commentaire

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