Installer la librairie GD pour php5 sous Léopard, 2eme essai !
30 décembre 2007 par Olivier MansourMa 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 !
Pour soutenir ce site, n'hésitez pas à cliquer sur un de ces liens :









Bonjour,
merci beaucoup pour ce tutoriel!
J’ai cependant un petit problème : je ne trouve pas le fichier .profile, dans quel répertoire est-il?
Autre chose, où faut-il taper la dernière ligne de commande afin d’installer pear?
Merci beaucoup!
Bonjour cher homonyme.
le fichier .profile est à la racine du répertoire home de ton utilisateur. Par exemple :
/Users/olivier
Si ce fichier n’existe pas tu peux le créer avec n’importe quel éditeur de texte normalement.
Pear est déjà fourni avec php5 concernant la dernière commande :
# sudo pecl install apc
C’est pour installer apc. On peut la taper de n’importe ou si ton .profile est bien configuré. Sinon c’est
# sudo pecl /usr/local/php5/bin/pecl install apc
Merci beaucoup pour ces explications!
Cependant, « sudo pecl install apc » et « sudo pecl /usr/local/php5/bin/pecl install apc » me donnent toute deux un « sudo: pecl: command not found ».
Mais comme je n’en ai pas vraiment l’utilité, ce n’est pas bien grave.
Merci!
Bonjour,
je fais sudo so j’obtiens :
so command not found
C’est normal, il faut faire sudo su. Il y a une petite faute de frappe sur l’article que je m’empresse de corriger. Merci bcp.
Bonjour olivier :)
Tout d’abord merci beaucoup pour ce tuto!
Par contre après installation de cette version de php il peut exister quelques problèmes avec MySQL je ne sais pas si tu as testé enfin surtout je ne connais pas ta configuration :)
Voici le problème : Si notre socket de mysql n’est pas /tmp/mysql.sock on ne peut plus l’utiliser après l’installation de cette version de PHP ( par defaut il semble que sous leopard php est compilé avec –with-mysql-sock=/var/mysql )
La solution :
On édite le /usr/local/php5/lib/php.ini et dans la section [MySQL] on remplace :
mysql.default_socket =
par :
mysql.default_socket = /var/mysql/mysql.sock
si /var/mysql.sock est notre sock, pour voir notre sock si on ne le connait, depuis un terminal :
$ mysql
mysql> status
Et bien sur après on relance apache :)
Bonjour et félicitation pour votre tuto…
Je pense que je vais installer votre version de PHP5 car la version incluse dans Leopard me pose quelques problèmes. La fonction GregorianToJD() ne fonctionne pas, visiblement elle n’est pas compilé.
Mais je suis un ancien Windowsien et donc je me pose des questions d’ordre pratique.
Le fait que cliquer sur l’archive la décompresse t’elle directement dans /usr/local/php5 ou faut-il créer le repertoire, copier l’archive et la décompresser ?
Merci d’avance de votre réponse.
Cordialement
Daniel
@Daniel : oui, il est possible que cette fonction ne soit pas compilée. C’est tout de même étrange. Et oui, il vous faut bien décompresser ou vous voulez et déplacer le répertoire php5 dans /usr/local
bon courage
Merci pour votre réponse.
Je compte l’installer pendant mes vacances.
J’ai toujours préféré, même sous Windows, les installations manuelles pour Apach, PHP, Mysql…). C’est plus compliqué, mais le résultat est un meilleur contrôle de son serveur.
@+ pour les commentaires
Merci encore
Daniel
Bonsoir Olivier.
L’installation c’est bien passé mais il a fallu que je modifie le php.ini dans la section (Mysql) : mysql.default_socket = /var/mysql/mysql.sock.
Le site fonctionne ainsi correctement MAIS et oui il y à un mais. Je ne peux plus me connecter à mes base avec phpmyadmin. C’est très curieux car le site se connecte bien au bases sauf une page ?
Merci d’avance si vous avez une idée.
Cordialement
Daniel
Impossible de faire marcher Entropy. J’ai télécharger et installer le package. Une erreur est générée mais Entropy est quand même installé.
J’ai suivi ce tutoriel qui fixe l’erreur et qui est censé faire marcher Entropy :
http://stitchedeyes.com/2008/02/26/getting-entropy-php-to-play-nice-in-os-x-105-leopard/#cxomment-81
Mais au final c’est toujours le PHP 5.2.6 natif d’Apple qui se trouve dans mon phpinfo() et non le 5.2.4 d’Entropy. Savez-vous pourquoi ?
Hugo, as tu modifié le chargement du module php5 dans /etc/apache2/httpd.conf et redémarré apache ?