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
modules_php [Le 10/05/2012, 11:09]
209.197.163.2 [php5-gd]
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​serveur vétuste}} 
  
----- 
-===== 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. 
- 
-<note important>​ 
-**À partir de Feisty**, il n'y a **plus de paquets php4-***. Cependant, sous Edgy et Dapper, vous pouvez remplacer **php5** par **php4** si vous utilisez php4. 
-</​note>​ 
- 
- 
- 
- 
- 
- 
-===== php-pear ===== 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php-pear|php-pear]] 
- 
-Pour installer une extension: 
-  sudo pecl install extname 
-<​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: 
-  ERROR: `phpize'​ failed 
-</​note>​ 
- 
- 
-Plus d'​information sur http://​www.php.net/​manual/​fr/​install.pecl.php 
- 
- 
- 
-===== php5-intl ===== 
-  sudo apt-get install php5-intl 
- 
-===== php5-cli ===== 
-//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) 
-  php /​chemin/​vers/​fichier.php 
-obtenir la liste des modules compilés avec PHP et ZEND et chargés 
-  php -m 
-exécuter une commande directement en php 
-  php -r '$var = "​salut";​ echo $var;' 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-cli|php5-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.) 
- Pour éditer le fichier: 
- sudo vim /​etc/​php5/​cli/​php.ini 
- 
- 
-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 
- 
-===== php5-imagick ===== 
-ImageMagick sert, comme GD à générer et manipuler des images. 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-imagick|php5-imagick]]. 
- 
-Et ensuite saisissez cette commande dans un terminal pour que les modification soient prise en compte : 
-   sudo /​etc/​init.d/​apache2 force-reload 
- 
-Vous trouverez plus d'​informations sur la librairie ImageMagick sur http://​fr.php.net/​imagick 
- 
- 
-===== php5-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"​. 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-gd|php5-gd]]. 
- 
-Et ensuite saisissez cette commande dans un terminal pour que les modification soient prise en compte : 
-   sudo /​etc/​init.d/​apache2 force-reload 
- 
-Vous trouverez plus d'​informations sur les librairies GD sur http://​fr.php.net/​gd 
- 
- 
-__**Support GD sous PHP**__ 
- 
-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. 
- 
-Pour remédier à ce problème, il est proposé de re-compiler PHP avec le support natif de GD. 
- 
-Pour ce faire commencez par installer les outils de compilation : 
-   ​aptitude install build-essential 
- 
-**Téléchargement et compilation des codes sources FreeType** 
- 
-Au moment où ce document est écrit la version de FreeType est là 2.3.9 et la version de PHP utilisé est la 5.2.11. 
- 
-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 
-   cd /home/php 
- 
-Pour télécharger FreeType, on exécute la commande : 
-<note important>​En date du 10/05/2012, la commande est : ''​wget http://​sourceforge.net/​projects/​freetype/​files/​freetype2/​2.4.9/​freetype-2.4.9.tar.bz2/​download -O freetype-2.4.9.tar.bz2''</​note>​ 
-   wget http://​downloads.sourceforge.net/​freetype/​freetype-2.3.9.tar.gz 
- 
-On décompresse les sources : 
-   tar -zxvf freetype-2.3.9.tar.gz 
- 
-On se place dans le répertoire fraîchement décompressé : 
-   cd /​home/​php/​freetype-2.3.9 
- 
-On prépare la compilation : 
-   ​./​configure 
- 
-On compile : 
-   make 
- 
-On installe la compilation : 
-   make install 
- 
-__**Téléchargement et compilation des codes sources PHP5**__ 
- 
-Au moment où ce document est écrit la version de FreeType est là 2.3.9 et la version de PHP utilisé est la 5.2.11. 
- 
-On installe les paquets suivants utiles à la compilation de PHP : 
-   ​apt-get install libpng12-* libjpeg* zlib1g gawk bison flex ^libxml2-* mcrypt libmcrypt-dev apache2-prefork-dev 
-   ​aptitude install perl libcurl4-gnutls-dev libicu-dev libxslt1-dev libcurl4-openssl-dev 
- 
-On se place dans le répertoire précédemment créé : 
-   cd /home/php 
- 
-Pour télécharger PHP, on exécute la commande (cette ligne est valable uniquement pour le 09-20-2009 entre 8:30 et 14:30 :D, il faut aller sur http://​snaps.php.net pour récupérer le "​dernier"​ bon fichier): 
-   ​wget ​ http://​snaps.php.net/​php5.2-201004091630.tar.gz 
- 
-On décompresse les sources : 
-   tar -zxvf php5.2-200909200830.tar.gz 
- 
-On se place dans le répertoire franchement décompressé : 
-   cd /​home/​php/​php5.2* 
- 
-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, les fichiers devraient se trouver dans les répertoires : 
-pour php.ini : /​etc/​php5/​apache2/​ 
-pour mysqld.sock : /​var/​run/​mysqld/​ 
-pour mysql.h : /​usr/​include/​mysql/​mysql.h 
- 
-On installe les sources de mysql pour trouver le mysql.h ​ 
-la commande pour trouver le fichier : find / -name mysql.h): 
-pour installer les sources :  
-   ​aptitude install libmysqlclient-dev 
-On prépare la compilation par la commande suivante : 
-   ​./​configure --prefix=/​usr/​ --with-apxs2=/​usr/​bin/​apxs2 --with-config-file-path=/​etc/​php5/​apache2 --disable-ipv6 --enable-inline-optimization --disable-debug --enable-bcmath --enable-calendar --with-curl --enable-ctype --enable-dbase --enable-discard-path --enable-exif --enable-ftp --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-gd-native-ttf --enable-magic-quotes --enable-mbstring --with-mcrypt --with-mysql=/​usr/​bin/​ --with-pdo-mysql --enable-soap --with-pear --with-xsl --with-zlib --with-openssl --enable-sockets --with-mysql-sock=/​var/​run/​mysqld/​mysqld.sock 
-(Il est vivement conseillé de faire une sortie vers un fichier) 
- 
-dans mon cas, erreur apxs2 introuvable,​ resolu avec : 
- 
-apt-get install apache2-prefork-dev 
- 
-On compile : 
-   make 
-On installe la compilation avec : 
-   make install --ignore-errors 
-Le make install ne fonctionnera pas car sous UBUNTU les fichiers ne sont pas placés dans les répertoires attendus. 
- 
-Et, on redémarre apache : 
-   /​etc/​init.d/​apache2 restart 
- 
-===== php5-sqlite ===== 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-sqlite|php5-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. 
- 
-SQLite n'est pas un logiciel client pour se connecter à un grand nom des bases de données. SQLite est le serveur. 
- 
-Ce module permet donc d'​utiliser les fonctions de la bibliothèque SQLite pour pouvoir lire et écrire directement dans les fichiers de bases de données se trouvant sur le disque dur.  
- 
-Pour plus d'​informations sur SQLite : http://​sqlite.org/​ 
- 
-===== php5-mongo ===== 
- 
-<​code>​ 
-sudo pecl install mongo 
-</​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 ===== 
- 
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​php5-xsl|php5-xsl]]. 
- 
-XSL (eXtensible Stylesheet Language) est le langage de description de feuilles de style du W3C associé à [[http://​fr.wikipedia.org/​wiki/​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). 
- 
-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 ...). 
- 
-Plus d'info : http://​fr.php.net/​xsl 
- 
- 
- 
- 
- 
- 
-===== 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. 
- 
-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 : 
- 
-<​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 
-|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. ​ 
- 
-libcurl supporte actuellement les protocoles suivants : HTTP, HTTPS, FTP, gopher, telnet, dict, file, et LDAP. libcurl supporte aussi les certificats HTTPS, les POST HTTP, PUT HTTP, le chargement par FTP (ce qui peut être fait par l'​extension FTP), les chargements par formulaire HTTP, les proxies, les cookies et l'​identification par mot de passe et nom d'​utilisateur. 
- 
-**Exemple :** Utilisation de cURL pour récupérer le contenu d'une page et l'​enregistrer dans un fichier texte. 
- 
-<​code>​ 
-<?php 
- 
-$ch = curl_init("​http://​www.example.com/"​);​ 
-$fp = fopen("​example_homepage.txt",​ "​w"​);​ 
- 
-curl_setopt($ch,​ CURLOPT_FILE,​ $fp); 
-curl_setopt($ch,​ CURLOPT_HEADER,​ 0); 
- 
-curl_exec($ch);​ 
-curl_close($ch);​ 
-fclose($fp);​ 
-?> 
-</​code>​ 
- 
-Plus d'info sur cURL et PHP : http://​www.php.net/​manual/​fr/​ref.curl.php 
- 
- 
- 
- 
- 
-===== 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 
- 
-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. 
- 
-**Installation** 
- 
-Pour Ubuntu Gutsy Gibbon et successeurs vous pouvez cliquer là:  
-[[apt://​php5-imap | php5-imap]] 
- 
-Sinon tapez sur un terminal: 
-<​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 ===== 
- 
-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]] 
  • modules_php.1336640952.txt.gz
  • Dernière modification: Le 10/05/2012, 11:09
  • par 209.197.163.2