Accueil > Internet, Mac OS X, PHP, Serveur > Installer GD pour PHP5 sur Mac OS X Server

Installer GD pour PHP5 sur Mac OS X Server

03/09/2009

Ce qui nous intéresse aujourd’hui est la compilation de l’extension GD pour PHP5. L’environnement doit être :

– Mac Os X Léopard 10.5.3 (ou plus) et Mac OS X Léopard Server
– Xcode 3.x
– X11
– X11 SDK
– Apache 2
– PHP 5

Mac Os X ne dispose pas en natif de la librairie JPEG. Il faut donc commencer par la compiler et l’installer. Pour ce faire :

1) Ouvrez le terminal
2) tapez les commandes suivantes (sans le $):

$ mkdir -p /SourceCache
$ cd /SourceCache
$ curl -O http://www.ijg.org/files/jpegsrc.v6b.tar.gz

Note : La dernière commande permet de télécharger le fichier et l’enregistrer dans le dossier SourceCache qui se trouve à la racine du disque dur. Il est possible de télécharger l’archive par le navigateur. Enregistrez l’archive dans le dossier SourceCache qui est à la racine du disque dur. Puis décompressez le !

3) Nous allons maintenant décompressez l’archive si vous ne l’avez pas déjà fait :

$ tar xzpf jpegsrc.v6b.tar.gz

4) Nous allons rentrez dans le dossier puis préparer la compilation de la librairie :

$ cd /SourceCache/jpeg-6b
$ cp /usr/share/libtool/config.sub .
$ cp /usr/share/libtool/config.guess .

Les deux dernière commande permettent de copier des fichiers dans le dossier en cours. Il faut bien mettre la commande complète avec le « . » (point).

Maintenant les choses se complique un peu ! Il va falloir connaitre n’architecture de votre Mac. Pour cela allez dans le menu pomme puis « A propos de ce Mac ».

Si en face de processeur vous avez :

– PowerPC G3 (très tare)
– PowerPC G4
– Core Duo
– Pentium 4 (parfois écrit P4)

Et bien votre ordinateur a une architecture 32 bits !

Si vous avez :

– PowerPC G5
– Core 2 Duo
– Xeon

Et bien votre ordinateur a une architecture 64 bits !

5) Maintenant que vous connaissez votre architecture choisissez la commande pour préparer la compilation selon votre cas :

Architecture 32 bits :

$ ./configure –enable-shared

Architecture 64 bits :

$ MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS= »-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp » CCFLAGS= »-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe » CXXFLAGS= »-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe » LDFLAGS= »-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load » ./configure –enable-shared

Attention : tout doit être sur la même ligne !

6) La compilation :

$ make

7) Préparation à l’installation :

$ 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

Note : lors de la première utilisation de « sudo » il vous demandera votre mot de passe tapez-le. Vous avez droit à 3 essai avant que cela annule la commande ! Rien ne s’affiche lors de la saisie du mot de passe et c’est normal !

8) Installation :

$ sudo make install

Maintenant les pré-requis pour la compilation de GD en temps que module de PHP est complète ! Nous allons pouvoir nous concentrer sur PHP et GD :

1) Le terminal est encore ouvert (si c’est pas le cas ouvrez le)
2) Retournons dans notre cache de code source :

$ cd /SourceCache

3) On télécharge les sources de PHP. Les sources contiennent les dossiers d’extension pour PHP.

Nous le téléchargeons là ou Apple à mis à disposition les codes sources de la partie libre de Mac Os X ! Il pèse 7,5Mo environ !

$ curl -O http://www.opensource.apple.com/darwinsource/10.5.2/apache_mod_php-44/php-5.2.5.tar.bz2

4) On décompresse :

$ tar xjf php-5.2.5.tar.bz2

5) On rentre dans le dossier de PHP puis des extensions puis GD :

$ cd /SourceCache/php-5.2.5/ext/gd

6) on prépare l’extension à devenir une extension de PHP avec la commande :

$ phpize

Note : si la commande indique des erreurs de permission exécutez : « $ sudo phpize » et saisissez votre mot de passe. Sudo garde le mot de passe 5 minutes. Passez ce délai il redemande le mot de passe pour continuer.

7) Encore une fois choisissez la commande qui correspond à votre architecture :

Architecture 32 bits :

$ ./configure –with-zlib-dir=/usr –with-jpeg-dir=/usr/local/lib –with-png-dir=/usr/X11R6 –with-freetype-dir=/usr/X11R6 –with-xpm-dir=/usr/X11R6

Architecture 64 bits :

$ MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS= »-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp » CCFLAGS= »-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe » CXXFLAGS= »-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe » LDFLAGS= »-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load » ./configure –with-zlib-dir=/usr –with-jpeg-dir=/usr/local/lib –with-png-dir=/usr/X11R6 –with-freetype-dir=/usr/X11R6 –with-xpm-dir=/usr/X11R6

Note : Selon certain critère pas très bien connu, il arrive que la commande génère l’erreur suivante : « /usr/X11/lib/libpng12.0.26.0.dylib: No such file or directory ». Dans ce cas éditez le fichier : « /usr/X11/lib/libpng.la » par la commande : « $ sudo pico /usr/X11/lib/libpng.la ».

Rechezchez les lignes :

library_names=’libpng12.0.dylib libpng12.dylib libpng12.0.26.0.dylib’
current=26
age=26

et remplacez les par :

library_names=’libpng12.0.dylib libpng12.dylib libpng12.0.24.0.dylib’
current=24
age=24

Attention : évitez le copier-coller ! Des caractères spéciaux pourait géner !

Note : l’utilisation de pico se fait avec les racourcis suivant : Ctrl + W pour faire une recherche; Ctrl + O pour enregistrer le fichier; Ctrl + X pour quitter.

8) Compilation de l’extension :

$ make

9) Installation de l’extension :

$ sudo make install

Résultat de l’installation :

iMac-G5:gd admin $ sudo make install Password: Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20060613/ Installing header files: /usr/include/php/

Copier le chemin se trouvant après : « Installing shared extensions: « . Cela sera utile pour la configuration de PHP.

10) configuration de PHP pour prendre en compte les extensions.

$ sudo pico /etc/php.ini

La première chose à faire est de rechercher (raccourci : Ctrl + W ) le texte : « extension_dir » (sans les guillemets).

La valeur par défaut est : extension_dir = « ./ »

Mettez un ; (point-virgule) au début de la ligne pour la désactivez puis saisissez : extension_dir = «  »

et collez entre les guillemet le chemin que vous avez copier avant d’éditer le fichier de configuration de PHP.

Cela doit donner :

extension_dir = « /usr/lib/php/extensions/no-debug-non-zts-20060613/ »

Puis faire une recherche de « extension= »

Avant la ligne « ; Windows Extensions » ajoutez des lignes vide et sur l’une d’elle écrivez :

extension=gd.so

Maintenant enregistrez (Ctrl + O puis entrée) puis quittez pico (Ctrl + X).

Dernière chose : redémarrer le serveur Apache par la commande :

$ sudo apachectl restart

Un petit test pour voir si PHP charge bien la l’extension ?

tapez dans le terminal :

$ php -i|grep -i gd

Note : la barre vertical s’obtiens par le raccourcis : alt (option) + Maj + L

Le résultat doit être à quelque chose près :

gd GD Support => enabled GD Version => bundled (2.0.34 compatible)

Si rien n’apprait c’est que l’extension n’est pas chargé!

Autre moyen de le savoir :

1) tapez dans le terminal :

$ echo «  » > /Library/WebServer/Documents/info.php

2) puis dans safari allez à l’adresse : http://localhost/info.php

3) Cherchez GD. Si vous l’avez, l’extension est chargé !

Merci d’avoir suivi mon tutoriel. Il est le résultat d’une journée de travail ! N’hésitez pas à me faire part de vos retour !

Categories: Internet, Mac OS X, PHP, Serveur Tags:
Les commentaires sont fermés.