Je parlais récemment sur ce blog de mon besoin de l’extension Runkit afin de supprimer une constante en PHP. Après plusieurs heures a essayer de compiler l’extension sur mon MacBook, j’avais finalement abandonné temporairement.

Ayant remplacé le binaire php par celui de Marc Liyanage, j’ai essayé de nouveau de compiler de Runkit sur mon MacBook et là, oh surprise, ça fonctionne :D Pour les intéressés, je vous mets la démarche ci-dessous.

Il existe plusieurs méthodes pour installer une extension PECL. La version courante de Runkit ne semble pas fonctionner avec PHP 5.2 et supérieur, j’utilise donc la version de développement. Je sais, ce n’est pas bien mais bon c’est pour un environnement de développement donc c’est moins grave. A noter que, pour la suite, je suppose que vous avez déjà installé les “Developper Tools” d’Apple. Ces précisions étant maintenant faites, attaquons la compilation et l’installation de Runkit :)

  1. Lancer le Terminal
  2. Nous allons dans un premier temps, récupérer les sources de l’extension.
    • Exécuter les commandes ci-dessous :

      touch ~/.cvspass
      cd Desktop
      cvs -d:pserver:cvsread@cvs.php.net:/repository login

    • A ce stade, le Terminal devrait vous demander de saisir un mot de passe. Taper “phpfi” (sans les guillemets)
    • Récupérer maintenant les sources de l’extension avec la commande suivante :

      cvs -d:pserver:cvsread@cvs.php.net:/repository export -r HEAD pecl/runkit

  3. Ensuite, nous allons compiler et installer Runkit.
    • Exécuter les commandes suivantes :

      cd pecl/runkit
      /usr/local/php5/bin/phpize

    • Si vous utiliser un processeur 64bits (Core2Duo par exemple), lancer cette commande :

      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-php-config=/usr/local/php5/bin/php-config

    • Pour les processeurs 32bits, exécuter cette commande là :

      ./configure –with-php-config=/usr/local/php5/bin/php-config

    • Ensuite, lancer les commandes ci-dessous :

      make
      make install

  4. Runkit est installé, il nous faut maintenant activer l’extension.
    • Rechercher un fichier php.ini dans /usr/local/php5/lib/ si il n’existe pas copier le fichier php.ini-recommended et renommer-le en php.ini
    • Editer le fichier php.ini
    • Ajouter à la fin du fichier la ligne suivante :

      extension=runkit.so

    • Enregistrer le fichier
  5. Il ne nous reste maintenant plus qu’à redémarrer Apache, pour cela lancer cette commande :

    sudo apachectl restart

  6. C’est fini. Vous devriez maintenant voir dans le phpinfo un bloc “runkit” :)