Archives du mot-clé libgd

Installer la librairie GD pour php5 sous Léopard, 2eme essai !

Ma première tentative a bien fonctionnée mais pose un problème assez important.

Il semble que la version de php5 fournie par Apple soit incapable de charger un module dynamiquement depuis la ligne de commande. C’est ainsi que j’interprètre l’erreur systématique que l’on a lorsque l’on lance php via le terminal après avoir suivi mon premier tutorial :

# php
dyld: NSLinkModule() error
dyld: Symbol not found: _php_sig_gif
Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20060613/gd.so
Expected in: flat namespace
Trace/BPT trap

GASP !

Je me suis donc rabattu sur une solution finalement plus simple et j’espère ne pas avoir de mauvaise surprise !

J’ai simplement installé un php5 compilé par les bon soins de Marc Liyanage (fort connu dans le monde mac). Ce paquet contient la plupart des extensions utiles (dont GD) et supporte la compilation et l’ajout d’autres extensions.

Installation de PHP5 via le binaire d’entropy.ch

Il faut télécharger cette archive :
http://www2.entropy.ch/download/php5-5.2.5.leopard.release1.tar.gz.

Mise à jour : Marc Liyanage travaille actuellement à différentes releases de php5 pour Leopard. Pour trouver le dernier paquet, le plus simple est de suivre le forum d’entropy.ch.

Re mise à jour : php5 est maintenant disponible à cette adresse : http://www.entropy.ch/software/macosx/php/.

Une fois celle ci décompressée, rendez vous dans le répertoire de téléchargement via le terminal :

# sudo su
# mv php5 /usr/local/
# exit

et voilà !

Configuration d’apache et de PHP5

Là aussi c’est assez simple.

# sudo su
# cp /usr/local/php5/lib/php.ini-recommended /usr/local/php5/lib/php.ini
# exit

Il faut ensuite remplacer

LoadModule php5_module libexec/apache2/libphp5.so

par

LoadModule php5_module /usr/local/php5/libphp5.so

dans le fichier /etc/apache2/httpd.conf.

Enfin, les binaires utiles sont maintenant situés dans /usr/local/php5/bin. Pour pouvoir les utiliser facilement j’ai ajouter ces lignes suivantes dans le fichier .profile à la racine de mon répertoire :

PATH=/usr/local/php5/bin:$PATH
export PATH

J’utilise bash ; pour changer de shell par défaut – qui est tcsh sous os x – il suffit d’ouvrir le terminal et d’entrer /bin/bash dans le champs commande des préférences de l’application.

Cerise sur le gâteau !

tentez donc un :

# sudo pecl install apc

dingue non ? PEAR et PECL répondent à l’appel.

Voici le phpinfo obtenu. (1,5 Mo)

La suite dans le prochain numéro !

Installer la librairie GD pour php5 sous Léopard

Attention, cette recette ne donne pas tout à fait satisfaction (casse le binaire php lancé en ligne de commande). Consultez plutôt cet article pour quelque chose d’efficace.


Suite à un commentaire pertinent de Niko je me lance dans l’opération consistant à l’installation de la librairie GD pour la version de php5 livré avec Léopard.

En gros, j’ai pioché dans différent tutoriels trouvés sur internet, pour la plupart destinés à os x serveur, afin de réussir l’installation sur ma configuration :

  • un iMac 20 pouces, 2 GHz Intel Core Duo et 2 Go de SDRAM
  • Léopard installé normalement avec les XCodeTools et X11 installés (disponible sur le dvd d’installation de Léopard)
  • PHP5 activé en éditant le fichier de configuration d’Apache et en décommentant la ligne correspondant à php5 (/etc/apache2/httpd.con)

Installer GD

Télécharger la librairie directement sur le site du projet. Décompresser l’archive dans un répertoire temporaire. Dans ce répertoire, taper ces commandes via le terminal mac os x ou l’excellent iTerm :

# cp /usr/share/libtool/config.sub .
# cp /usr/share/libtool/config.guess .
# ./configure --enable-shared
# make
# sudo su
# mkdir -p /usr/local/include
# mkdir -p /usr/local/bin
# mkdir -p /usr/local/lib
# mkdir -p /usr/local/man/man1
# make install
# exit

Installer l’extension pour php5

L’astuce consiste a récupérer les sources de la version de php fournie avec Léopard et de ne compiler que l’extension GD. Ici on parle donc de la version 5.2.4, dont j’ai pu télécharger les sources sur php.net. Une fois l’archive décompressée, taper ces commandes :

# cd php-5.2.4/ext/gd
# phpize
# ./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
# make
# sudo su
# make install
# exit

Configurer PHP

# sudo su
# cp /etc/php.ini.default /etc/php.ini

Dans le fichier php.ini, ajouter la ligne :

extension=gd.so

et, afin que php utilise le chemin par défaut pour les extensions, supprimer la ligne suivante :

extension_dir = "./"

Une fois Apache redémarré via les préférences systèmes, GD est bien configurée avec php5 !

Voici le phpinfo obtenu. (1,2 Mo)