Qu’est-ce que PECL ?

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 …
  • Pour les utilisateurs de Linux (et surement Mac…) :
    • On peut aussi télécharger les sources a la main et compiler le tout
    • 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

Articles en rapport :

4 Commentaires

Grummfymai 10th, 2010 at 17 h 02 min

Hello,
Petite question, est-ce que comme pear, pecl peut être utiliser sur un mutualisé? J’ai des doutes mais cela m’intéresserait si tu avais la réponse (j’ai pas encore chercher).

Gregmai 11th, 2010 at 10 h 16 min

@grummfy : non PECL doit être intégré directement a PHP. En général sur un mutualisé, tu ne peux pas touché au moteur php. Donc non, pas de PECL sur les mutualisés !!

Jorisaoût 24th, 2010 at 16 h 44 min

Pour la plupart des cas sous Linux/Mac, il faut préciser que l’on souhaite installer PECL avec PHP car c’est pas forcément par défaut… Par exemple sous OSX avec MacPort :

~% sudo port install php5+pear

Oui, PEAR installe PECL automatiquement ;)

Gregaoût 24th, 2010 at 22 h 22 min

Merci pour ta précision Joris ;)
(J’ai pas encore de mac. Si quelqu’un veut m’en offrir un, il n’y a pas de pb :D )

Laisser un commentaire

Votre commentaire :