Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
modules_php [Le 02/08/2012, 00:16]
cpt_aimless [php5-gd]
modules_php [Le 06/05/2017, 09:06]
bcag2 ajout tags version
Ligne 1: Ligne 1:
-{{tag>​serveur ​vétuste}}+{{tag>trusty xenial ​serveur}}
  
 ---- ----
-===== Modules pour PHP ======+====== Modules pour PHP ======
  
-<​note>​Cette page est en cours de rédaction. ​ 
-Toute contribution est la bienvenue ;-) </​note> ​ 
  
 Cette page vise à présenter certains modules pour PHP qui pourraient vous être utile et l'​intérêt qu'ils apportent. Cette page vise à présenter certains modules pour PHP qui pourraient vous être utile et l'​intérêt qu'ils apportent.
 +
 +Vous pouvez vérifier qu'il existe pour votre version, en faisant une recherche dans les pages des packages:\\
 +Par exemple pour [[xenial]] : [[http://​packages.ubuntu.com/​xenial/​php/​]]
  
 <note important>​ <note important>​
-**À partir ​de Feisty**il n'y a **plus de paquets php4-***. Cependant, sous Edgy et Dappervous pouvez remplacer **php5** ​par **php4** si vous utilisez php4.+Pour les versions récentes, ne spécifiez pas de versionle système installera la dernière version… 7.*. \\ 
 +les modules préfixés par **php5** ont encore cours avec [[trusty]], 
 + 
 +Par exemple //​php5-curl// ​sous trusty devient //​php7.0-curl//​plus simplement accessible ​par //​php-curl//​.
 </​note>​ </​note>​
- 
- 
- 
- 
- 
  
 ===== php-pear ===== ===== php-pear =====
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php-pear|php-pear]]+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​**[[apt>php-pear]]**.
  
 Pour installer une extension: Pour installer une extension:
   sudo pecl install extname   sudo pecl install extname
 <​note>​ <​note>​
-Pour l'​installation d'​extensions via pecl (par exemple json) Il peut être parfois nécessaire d'​installer le paquet [[apt://php5-dev]] pour éviter les erreurs de dépendances tel que:+Pour l'​installation d'​extensions via pecl (par exemple json) Il peut être parfois nécessaire d'​installer le paquet [[apt>php-dev]] pour éviter les erreurs de dépendances tel que:
   ERROR: `phpize'​ failed   ERROR: `phpize'​ failed
 </​note>​ </​note>​
  
 +Plus d'​information [[http://​www.php.net/​manual/​fr/​install.pecl.php|ici]].
  
-Plus d'​information sur http://www.php.net/​manual/​fr/​install.pecl.php +===== php-intl ===== 
- +[[:tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>php-intl]]**.
  
-===== php5-intl ===== 
-  sudo apt-get install php5-intl 
  
-===== php5-cli =====+===== php-cli =====
 //cli// pour //Command Line Interface//,​ permet d'​utiliser php en ligne de commande. Vous pourrez alors : //cli// pour //Command Line Interface//,​ permet d'​utiliser php en ligne de commande. Vous pourrez alors :
 exécuter un script php sans passer par un navigateur web (très pratique pour lancer des scripts de maintenance en [[cron]] par exemple) exécuter un script php sans passer par un navigateur web (très pratique pour lancer des scripts de maintenance en [[cron]] par exemple)
Ligne 46: Ligne 43:
   php -r '$var = "​salut";​ echo $var;'   php -r '$var = "​salut";​ echo $var;'
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-cli|php5-cli]]+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​**[[apt>php-cli]]**.
  
 Sachez que php-cli a son propre php.ini, vous en aurez sans doute besoin pour activer mysql (sans quoi vous aurez une erreur à l'​exécution de vos scripts utilisant mysql.) Sachez que php-cli a son propre php.ini, vous en aurez sans doute besoin pour activer mysql (sans quoi vous aurez une erreur à l'​exécution de vos scripts utilisant mysql.)
Ligne 53: Ligne 50:
  
  
-Vous trouverez plus d'​informations sur php en ligne de commande dans la page de manuel de la commande //php// et sur http://​fr2.php.net/​features.commandline+Vous trouverez plus d'​informations sur php en ligne de commande dans la page de manuel de la commande //php// et [[http://​fr2.php.net/​features.commandline|ici]].
  
-===== php5-imagick =====+===== php-imagick =====
 ImageMagick sert, comme GD à générer et manipuler des images. ImageMagick sert, comme GD à générer et manipuler des images.
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-imagick|php5-imagick]].+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt>php-imagick]].
  
 Et ensuite saisissez cette commande dans un terminal pour que les modification soient prise en compte : Et ensuite saisissez cette commande dans un terminal pour que les modification soient prise en compte :
Ligne 66: Ligne 63:
  
  
-===== php5-gd =====+===== php-gd =====
 En général, PHP sert à générer des pages HTML. Avec les librairies GD, vous pouvez créer et manipuler des images avec PHP. vous pouvez l'​utiliser par exemple pour générer des graphiques dynamiquement et "à la volée"​. En général, PHP sert à générer des pages HTML. Avec les librairies GD, vous pouvez créer et manipuler des images avec PHP. vous pouvez l'​utiliser par exemple pour générer des graphiques dynamiquement et "à la volée"​.
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-gd|php5-gd]].+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​**[[apt>php-gd]]**.
  
 Et ensuite saisissez cette commande dans un terminal pour que les modification soient prise en compte : Et ensuite saisissez cette commande dans un terminal pour que les modification soient prise en compte :
    sudo /​etc/​init.d/​apache2 force-reload    sudo /​etc/​init.d/​apache2 force-reload
 +    
 +ou encore 
 +   sudo service apache2 reload
 Vous trouverez plus d'​informations sur les librairies GD sur http://​fr.php.net/​gd Vous trouverez plus d'​informations sur les librairies GD sur http://​fr.php.net/​gd
- 
- 
  
 __**Support GD sous PHP**__ __**Support GD sous PHP**__
  
-<​note>​10/​05/​2012 : Au moment où ce document est <​del>​écrit</​del>​ modifié, la version de FreeType est 2.4.9 et la version de PHP utilisé est 5.4.</​note>​ +FIXME
 La mise en place du serveur WEB standard sous Ubuntu pose un problème lors de l'​utilisation de la librairie GD. Certaines fonctions ne sont pas implémentées. La mise en place du serveur WEB standard sous Ubuntu pose un problème lors de l'​utilisation de la librairie GD. Certaines fonctions ne sont pas implémentées.
  
Ligne 91: Ligne 87:
  
 **Téléchargement et compilation des codes sources FreeType** **Téléchargement et compilation des codes sources FreeType**
 +FIXME
 Placez-vous dans le répertoire que vous souhaitez, dans cet article il a été créé un répertoire ​ //php// dans le répertoire home : Placez-vous dans le répertoire que vous souhaitez, dans cet article il a été créé un répertoire ​ //php// dans le répertoire home :
    mkdir /home/php    mkdir /home/php
Ligne 97: Ligne 93:
  
 Pour télécharger FreeType, on exécute la commande : Pour télécharger FreeType, on exécute la commande :
-   wget http://​sourceforge.net/​projects/​freetype/​files/​freetype2/​2.4.9/​freetype-2.4.9.tar.gz/​download -O freetype-2.4.9.tar.gz+   wget http://​sourceforge.net/​projects/​freetype/​files/​freetype2/​2.7.1/​freetype-2.7.1.tar.gz/​download -O freetype-2.7.1.tar.gz
  
 On décompresse les sources : On décompresse les sources :
-   tar -zxvf freetype-2.4.9.tar.gz+   tar -zxvf freetype-2.7.1.tar.gz
  
 On se place dans le répertoire fraîchement décompressé : On se place dans le répertoire fraîchement décompressé :
-   cd /​home/​php/​freetype-2.4.9+   cd /​home/​php/​freetype-2.7.1
  
 On prépare la compilation : On prépare la compilation :
Ligne 115: Ligne 111:
  
  
-__**Téléchargement et compilation des codes sources ​PHP5**__+__**Téléchargement et compilation des codes sources ​PHP**__
  
 On installe les paquets suivants utiles à la compilation de PHP : On installe les paquets suivants utiles à la compilation de PHP :
    sudo apt-get install libpng12-dev libjpeg8-dev zlib1g gawk bison flex ^libxml2-* mcrypt libmcrypt-dev apache2-prefork-dev    sudo apt-get install libpng12-dev libjpeg8-dev zlib1g gawk bison flex ^libxml2-* mcrypt libmcrypt-dev apache2-prefork-dev
    sudo apt-get install perl libicu-dev libxslt1-dev libcurl4-openssl-dev    sudo apt-get install perl libicu-dev libxslt1-dev libcurl4-openssl-dev
- 
-<​note>​10/​05/​2012 : Dans la ligne de commande originelle de ce tuto, il y avait en plus le paquet ''​libcurl4-gnutls-dev''​ mais je l'ai retiré car il rentre en conflit avec ''​libcurl4-openssl-dev''​ (en tout cas sur 11.04)</​note>​ 
  
 On se place dans le répertoire précédemment créé : On se place dans le répertoire précédemment créé :
Ligne 127: Ligne 121:
  
 Pour télécharger PHP, on exécute la commande (cette ligne est valable uniquement pour le 10-05-2012 à 5:30 :D, il faut aller sur http://​snaps.php.net pour récupérer le "​dernier"​ bon fichier): Pour télécharger PHP, on exécute la commande (cette ligne est valable uniquement pour le 10-05-2012 à 5:30 :D, il faut aller sur http://​snaps.php.net pour récupérer le "​dernier"​ bon fichier):
-   ​wget ​snaps.php.net/php5.4-201205100730.tar.gz+   ​wget ​http://fr2.php.net/get/php-7.1.4.tar.bz2
  
 On décompresse les sources : On décompresse les sources :
-   tar -zxvf php5.4-201205100730.tar.gz+   tar -zxvf php-7.1.4.tar.bz2
  
-On se place dans le répertoire ​franchement ​décompressé : +On se place dans le répertoire ​fraîchement ​décompressé : 
-   cd /home/php/php5.4*+   cd /home/php/php7.1.4*
  
 Avant de lancer la ligne de configuration pour la compilation,​ nous allons rechercher l'​emplacement des fichiers suivants : //php.ini, mysqld.sock//​ et //mysql.h// Avant de lancer la ligne de configuration pour la compilation,​ nous allons rechercher l'​emplacement des fichiers suivants : //php.ini, mysqld.sock//​ et //mysql.h//
  
-L'​objectif est d'​essayer de rester conforme à l'​installation d'​UBUNTU. ​Et, théoriquement sur 8.04 LTS (toujours valable pour 11.04), les fichiers devraient se trouver dans les répertoires : +L'​objectif est d'​essayer de rester conforme à l'​installation d'​UBUNTU. ​Les fichiers devraient se trouver dans les répertoires : 
-  * pour php.ini : /etc/php5/apache2/+  * pour php.ini : /etc/php/7.0/apache2/
   * pour mysqld.sock : /​var/​run/​mysqld/​   * pour mysqld.sock : /​var/​run/​mysqld/​
   * pour mysql.h : /​usr/​include/​mysql/​mysql.h   * pour mysql.h : /​usr/​include/​mysql/​mysql.h
Ligne 164: Ligne 158:
  
 (La compilation de PHP avec le support de GD varie fonction de la distribution d'​UBUNTU,​ veuillez vous référer au fil de discussion suivant [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=263186]] pour tout problème rencontré ou contacté l'​utilisateur [[http://​forum.ubuntu-fr.org/​profile.php?​id=134430]]) (La compilation de PHP avec le support de GD varie fonction de la distribution d'​UBUNTU,​ veuillez vous référer au fil de discussion suivant [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=263186]] pour tout problème rencontré ou contacté l'​utilisateur [[http://​forum.ubuntu-fr.org/​profile.php?​id=134430]])
-===== php5-sqlite ===== 
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-sqlite|php5-sqlite]]+===== php-sqlite ===== 
 + 
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​**[[apt>php-sqlite]]**.
  
 Ce module permet de faire l'​interface avec le moteur de base SQLite Embeddable SQL Database Engine. SQLite est une bibliothèque C qui met en place un moteur de bases de données SQL embarqué. Les programmes qui utilisent SQLite peuvent disposer d'un accès à une base de données SQL, sans avoir à faire tourner d'​autre processus serveur. Ce module permet de faire l'​interface avec le moteur de base SQLite Embeddable SQL Database Engine. SQLite est une bibliothèque C qui met en place un moteur de bases de données SQL embarqué. Les programmes qui utilisent SQLite peuvent disposer d'un accès à une base de données SQL, sans avoir à faire tourner d'​autre processus serveur.
Ligne 176: Ligne 171:
 Pour plus d'​informations sur SQLite : http://​sqlite.org/​ Pour plus d'​informations sur SQLite : http://​sqlite.org/​
  
-===== php5-mongo =====+===== php-mongodb ​=====
  
-<​code>​ +Le module ​php-mongodb remplace le module obsolète ​php-mongo. 
-sudo pecl install mongo +[[:tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>php-mongodb]]**.
-</​code>​ +
- +
-Il faudra éditer les fichiers /​etc/​php5/​apache2/​php.ini et   /​etc/​php5/​cli/​php.ini pour ajouter la ligne : +
-<code> +
-extension=mongo.so +
-</​code>​+
  
-===== php5-xsl =====+===== php-xsl =====
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://php5-xsl|php5-xsl]].+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​**[[apt>php-xml]]**.
  
-XSL (eXtensible Stylesheet Language) est le langage de description de feuilles de style du W3C associé à [[http://​fr.wikipedia.org/​wiki/​XML|XML]].+XSL (eXtensible Stylesheet Language) est le langage de description de feuilles de style du W3C associé à [[wpfr>XML|XML]].
  
 Une feuille de style XSL est un fichier qui décrit comment doivent être présentés (c'​est-à-dire affichés, imprimés, épelés) les documents XML (l'​équivalent du CSS pour HTML). Une feuille de style XSL est un fichier qui décrit comment doivent être présentés (c'​est-à-dire affichés, imprimés, épelés) les documents XML (l'​équivalent du CSS pour HTML).
  
 Ce module permet donc à PHP d'​utiliser les fonctions permettant la mise en forme d'un document XML. Ce module permet donc à PHP d'​utiliser les fonctions permettant la mise en forme d'un document XML.
-De plus, il inclut les librairie du langage [[http://​fr.wikipedia.org/​wiki/​Extended_stylesheet_language_transformations|XSLT]], ​ permettant ainsi la transformation d'un document XML vers un autre, ou vers un autre dialecte XML (XHTML, XSL-FO, HTML, etc ...).+De plus, il inclut les librairie du langage [[wpfr>Extended_stylesheet_language_transformations|XSLT]], ​ permettant ainsi la transformation d'un document XML vers un autre, ou vers un autre dialecte XML (XHTML, XSL-FO, HTML, etc ...).
  
-Plus d'​info ​http://​fr.php.net/​xsl+Plus d'​info ​[[http://​fr.php.net/​xsl|ici]]
  
 +===== php-mcrypt =====
  
- +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​**[[aptphp-intlphp-mcrypt]]**.
- +
- +
- +
-===== php5-mcrypt ===== +
- +
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://php5-mcrypt|php5-mcrypt]].+
  
 Ce module permet à PHP d'​utiliser les fonctions crypt() et crypt(1) de la bibliothèque mcrypt. Utile si vous voulez chiffrer une donnée importante en laissant le soin aux utilisateurs de la déchiffrer. Ce module permet à PHP d'​utiliser les fonctions crypt() et crypt(1) de la bibliothèque mcrypt. Utile si vous voulez chiffrer une donnée importante en laissant le soin aux utilisateurs de la déchiffrer.
Ligne 213: Ligne 197:
 mcrypt dispose d'une grande variété d'​algorithmes de chiffrement,​ tels DES, TripleDES, Blowfish (par défaut), 3-WAY, SAFER-SK64, SAFER-SK128,​ TWOFISH, TEA, RC2 et GOST en modes CBC, OFB, CFB et ECB. De plus, elles acceptent aussi RC6 et IDEA qui sont considérés comme "​non-libres"​. mcrypt dispose d'une grande variété d'​algorithmes de chiffrement,​ tels DES, TripleDES, Blowfish (par défaut), 3-WAY, SAFER-SK64, SAFER-SK128,​ TWOFISH, TEA, RC2 et GOST en modes CBC, OFB, CFB et ECB. De plus, elles acceptent aussi RC6 et IDEA qui sont considérés comme "​non-libres"​.
  
-Il est possible que vous rencontriez des problèmes de chargement sous Gutsy. Malgré l'​installation du paquet, il ne se charge pas dans php5 (il n'​apparait pas dans phpinfo();​). Dans ce cas, il manque probablement le fichier mcrypt.ini que vous allez devoir créer : +===== php-curl =====
- +
-<​code>​ +
-sudo nano /​etc/​php5/​conf.d/​mcrypt.ini +
-</​code>​ +
- +
-Ajoutez-y ensuite : +
- +
-<​code>​ +
-# configuration for php MCRYPT module +
-extension=mcrypt.so +
-</​code>​ +
- +
-Et redémarrez apache : +
- +
-<​code>​ +
-sudo /​etc/​init.d/​apache2 restart +
-</​code>​ +
- +
-Normalement tout fonctionne :-). +
- +
-Vous trouverez plus d'​information sur mcrypt et php ici : http://​www.php.net/​manual/​fr/​ref.mcrypt.php +
- +
-Erreur possible : +
-<​code>​ +
-PHP Fatal error: ​ Call to undefined function mcrypt_module_open() +
-</​code>​ +
- +
- +
- +
-===== php5-curl =====+
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-curl +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​**[[apt>php-curl]]**.
-|php5-curl]].+
  
 PHP supporte **libcurl**,​ une bibliothèque créée par Daniel Stenberg, qui vous permet de vous connecter, de communiquer avec de nombreux serveurs, grâce à de nombreux protocoles. ​ PHP supporte **libcurl**,​ une bibliothèque créée par Daniel Stenberg, qui vous permet de vous connecter, de communiquer avec de nombreux serveurs, grâce à de nombreux protocoles. ​
Ligne 254: Ligne 207:
 **Exemple :** Utilisation de cURL pour récupérer le contenu d'une page et l'​enregistrer dans un fichier texte. **Exemple :** Utilisation de cURL pour récupérer le contenu d'une page et l'​enregistrer dans un fichier texte.
  
-<​code>​+<​code ​php>
 <?php <?php
  
Ligne 269: Ligne 222:
 </​code>​ </​code>​
  
-Plus d'info sur cURL et PHP http://​www.php.net/​manual/​fr/​ref.curl.php+Plus d'info sur cURL et PHP [[http://​www.php.net/​manual/​fr/​ref.curl.php|ici]].
  
 +===== php-zip =====
  
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​php-zip]]**.
  
- +===== php-imap =====
- +
-===== php5-zip ===== +
- +
-Le paquet ​php-zip était dispo en php4, ne l'est plus tel quel en php5 (en tout cas pas avant php5.2 en standard). +
- +
-Donc pour installer l'​extension zip sur php5.1, ça se passe via PECL +
- +
-Donc il faut avoir (qui donnera phpize) : +
-<​code>​ +
-sudo apt-get install make php5-dev libpcre3-dev +
-</​code>​ +
- +
-Ensuite récupérer l'​archive en question sur : http://​pecl.php.net/​package/​zip +
- +
-La mettre dans un dossier, la décompresser et faire : +
-<​code>​ +
-cd /​chemin/​répertoire_archive_décompressée +
-phpize +
-./​configure +
-make +
-sudo make install +
-</​code>​ +
- +
-Voir aussi : http://​julp.developpez.com/​php/​zip +
- +
- +
----- +
- +
- //​Contributeurs:​ [[:​utilisateurs:​_Enchained]],​ [[:​utilisateurs:​Fengy]],​ PCB, TounokiNico pour php-zip // +
-===== php5-imap =====+
 "​Internet Message Access Protocol (IMAP) est un protocole utilisé par les serveurs de messagerie électronique,​ fonctionnant pour la réception."​ - Wikipédia "​Internet Message Access Protocol (IMAP) est un protocole utilisé par les serveurs de messagerie électronique,​ fonctionnant pour la réception."​ - Wikipédia
  
 Ce paquet fournit un module pour les fonctions IMAP dans les scripts PHP. Il est employé dans de nombreux logiciels tel que VTigerCRM pour gérer des fonctions de messagerie. Ce paquet fournit un module pour les fonctions IMAP dans les scripts PHP. Il est employé dans de nombreux logiciels tel que VTigerCRM pour gérer des fonctions de messagerie.
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​php-imap]]**.
  
-**Installation** 
  
-Pour Ubuntu Gutsy Gibbon et successeurs vous pouvez cliquer là:  +===== XCache =====
-[[apt://​php5-imap | php5-imap]]+
  
-Sinon tapez sur un terminal: +XCache est un accélérateur PHP [[xcache]]
-<​code>​ +
-sudo apt-get install php5-imap +
-</​code>​ +
-Pour Ubuntu Dapper Drake, la ligne //​extension=imap.so//​ sera placée dans le fichier php.ini qui se trouve dans le répertoire // /​etc/​php5/​apache2/​ //.+
  
-===== Fileinfo =====+Contributeurs:​ [[:​utilisateurs:​_Enchained]],​ [[:​utilisateurs:​Fengy]],​ [[:​utilisateurs:​uderline]],​ PCB, TounokiNico pour php-zip, [[:​utilisateurs:​bcag2]] ​
  
-Le module fileinfo n'est pas installé par défaut. Jusqu'​à Jaunty il faut l'​installer manuellement. ​ 
-Il convient d'​abord d'​installer les modules suivants: 
-<​code>​sudo apt-get install php5-dev libmagic-dev php-pear</​code>​ 
-Il peut être téléchargé ici: http://​pecl.php.net/​package/​Fileinfo et installé avec la commande ​ 
-<​code>​pear install Fileinfo-1.0.X.tgz</​code>​ 
- 
-IL faut ensuite ajouter la ligne suivante dans le fichier /​etc/​php5/​cli/​php.ini:​ 
-<​code>​extension=fileinfo.so</​code>​ 
-et redémarrer votre serveur apache: 
-<​code>/​etc/​init.d/​apache restart</​code>​ 
- 
-===== XCache ===== 
- 
-XCache est un accélérateur PHP : [[xcache]]