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

30 décembre 2007 par Olivier Mansour

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 !

Pour soutenir ce site, n'hésitez pas à cliquer sur un de ces liens :

  1. Par olivier le 7 janvier 2008 | Répondre

    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!

  2. Par olivier le 7 janvier 2008 | Répondre

    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

  3. Par olivier le 8 janvier 2008 | Répondre

    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!

  4. Par jean sebastien le 8 mai 2008 | Répondre

    Bonjour,
    je fais sudo so j’obtiens :
    so command not found

  5. Par Olivier Mansour le 11 mai 2008 | Répondre

    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.

  6. Par Fabien MEYNARD le 25 juin 2008 | Répondre

    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 :)

  7. Par DESIR Daniel le 24 juillet 2008 | Répondre

    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

  8. Par Olivier Mansour le 24 juillet 2008 | Répondre

    @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

  9. Par DESIR Daniel le 24 juillet 2008 | Répondre

    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

  10. Par DESIR Daniel le 25 juillet 2008 | Répondre

    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

  11. Par Hugo le 4 décembre 2008 | Répondre

    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 ?

  12. Par Olivier Mansour le 4 décembre 2008 | Répondre

    Hugo, as tu modifié le chargement du module php5 dans /etc/apache2/httpd.conf et redémarré apache ?

  1. 5 Trackback(s)

  2. déc 30, 2007: Glagla Dot Org » Blog Archive » Installer MySQL5 sous Léopard
  3. déc 31, 2007: Glagla Dot Org » Blog Archive » Installer la librairie GD pour php5 sous Léopard
  4. jan 18, 2008: Glagla Dot Org » Blog Archive » Installer xdebug et KCachegrind sous Leopard

Commentaires

RSS des commentaires pour ce post