Fork me on GitHub
May 10th, 2010

Il y a quelques semaines un rapport sur l’utilisation de PHP sur les serveurs debian est sorti (http://popcon.debian.org/ ; vraiment pas sexy ! ). Industrialisation PHP en a fait une bonne analyse, je vous conseil de la lire. En lisant ce rapport, j’ai été assez étonné sur les pourcentages d’utilisation des extensions PECL et PEAR. On va donc commencer par faire une petite piqure de rappel sur PECL.

PECL est l’anagramme de  PHP Extension Community Library (on le prononce pickle). C’est une librairie d’extensions codées en C issu de la communauté PHP pour le PHP. Ces extensions viennent directement se greffer au moteur PHP (Liste des Extensions). Il y a par exemple des extensions pour le débogage, le cache, la sécurité, les gui … Ces extensions ont l’avantage d’être codées en C, donc elles sont beaucoup plus rapide et performantes que les librairies codées en PHP. Par contre il faut aussi savoir que plusieurs extensions ne sont plus maintenues, en effet, il arrive souvent que des extensions soient directement intégré directement au moteur PHP (comme domxml ou json)  ou alors elles sont abandonnées :S.

Quelques exemples d’extentions connu :

  • memcache : offre la possibilité de mettre des objets en cache et donc de réduire la consommation CPU (et réduit l’utilisation de MySQL)
  • imagick : pour gérer les images. Offre plus d’options que GD2
  • XDebug : pour améliorer le débogage

Il y a plusieurs types d’utilisation de ces extensions. En fait soit l’extension rajoute des nouvelles fonctions à notre moteur php (comme avec imagick, exemple), soit l’extension redéfinit une fonction (on verra le cas dans un projet tuto avec var_dump).

Pour installer des extensions PECL, il y a plusieurs écoles.

  • Pour les utilisateurs de Windows, il y a souvent deux options :
    • Télécharger les binaires et les copier au bon endroit, puis éditer le php.ini
    • Télécharger le code source et re-compiler PHP (ou juste l'extension)
  • Pour les utilisateurs de Linux (et surement Mac…) :

    • On peut aussi télécharger les sources a la main et compiler le tout (ou juste l'extension)
    • Ou Une ligne de commande suffit :

      pecl install <nom du paquet>
      

L’avantage d’être sous Linux, c’est que c’est plus simple et surtout plus à jour sachant que PECL fonctionne comme un dépôt, d’ailleurs c’est un dépôt (comme apt par exemple)

Documentation sur php.net


By the way, if you found a typo, please edit this post . Thank you so much!