Après avoir installé PHP et un serveur web sous Windows, vous devriez probablement vouloir installer quelques extensions pour avoir des fonctionnalités supplémentaires. Vous pouvez choisir quelles extensions seront chargées lors du démarrage de PHP en modifiant votre php.ini. Vous pouvez également en charger dynamiquement dans vos scripts à l'aide de la fonction dl().
Les bibliothèques DLLs pour les extensions PHP sont préfixées par php_.
Beaucoup d'extensions sont incluses dans la version pour Windows de PHP. Cela signifie que les bibliothèques DLL additionnelles et la directive extension ne sont pas utilisées pour charger ces extensions. La table des extensions PHP pour Windows liste les extensions qui requièrent des bibliothèques DLL additionnelles PHP. Voici une liste d'extensions internes :
En PHP 4 (mise à jour : PHP 4.3.11) : BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML et Zlib
En PHP 5 (mise à jour : PHP 5.0.4), les changements suivants existent. En interne : DOM, LibXML, Iconv, SimpleXML, SPL et SQLite. Les suivants ne sont plus intégrés : MySQL and Overload.
Le dossier par défaut dans lequel PHP cherche des extensions est c:\php4\extensions en PHP 4 et c:\php5 en PHP 5. Pour changer ce comportement pour refléter votre installation de PHP, éditez votre fichier php.ini :
Vous devriez pouvoir changer le paramètre extension_dir pour pointer vers le dossier contenant vos extensions ou l'endroit où vous avez placé vos fichiers php_*.dll. Par exemple :
extension_dir = c:\php\extensions
Pour activer ces extensions dans votre php.ini, vous devez décommenter les lignes extension=php_*.dll dans votre php.ini. Cela se fait en effaçant le point virgule (";") du début de la ligne que vous voulez activer.
Exemple #1 Activer l'extension Bzip2 pour PHP-Windows
// changez la ligne suivante : ;extension=php_bz2.dll // En : extension=php_bz2.dll
Quelques extensions ont besoin de bibliothèques DLLs supplémentaires pour fonctionner. La plupart d'entre elles peuvent être trouvées dans le paquet de votre distribution de PHP, dans le dossier c:\php\dlls\ en PHP 4 ou dans le dossier principal en PHP 5 mais quelques autres, comme Oracle (php_oci8.dll), requierent des DLLs qui ne sont pas fournies avec votre distribution de PHP. Si vous installez PHP 4, copiez les bibliothèques DLLs depuis le dossier C:\php\dlls vers le dossier principal C:\php. N'oubliez pas d'inclure le dossier C:\php dans la variable d'environnement PATH (ce processus est expliqué dans une entrée de la FAQ).
Quelques-unes de ces bibliothèques ne sont pas incluses dans la distribution de PHP. Lisez la documentation de chaque extension pour plus de détails. Lisez également la section du manuel nommée Installation d'extensions PECL pour plus de détails sur PECL. Un nombre toujours plus important d'extensions PHP se trouve dans PECL, et ces extensions nécessitent un téléchargement séparé.
Note: Si vous utilisez PHP en tant que module d'un serveur web, pensez à redémarrer votre serveur web pour charger les modifications apportées au fichier php.ini.
La table suivante décrit quelques extensions disponibles requérant des bibliothèques DLLs supplémentaires.
Extension | Description | Notes |
---|---|---|
php_bz2.dll | bzip2 : fonctions de compression | Non |
php_calendar.dll | Calendar : fonctions de conversion | Intégrées à PHP depuis la version 4.0.3 |
php_crack.dll | Fonctions Crack | None |
php_ctype.dll | Famille de fonctions ctype | Intégrées à PHP depuis la version 4.3.0 |
php_curl.dll | Fonctions de bibliothèque client CURL | Requiert : libeay32.dll, ssleay32.dll (intégré) |
php_dba.dll | DBA: DataBase (dbm-style) Fonctions d'abstraction | Non |
php_dbase.dll | Fonctions dBase | Non |
php_dbx.dll | Fonctions dbx | |
php_domxml.dll | Fonctions DOM XML | PHP <= 4.2.0 requiert : libxml2.dll (intégré) PHP >= 4.3.0 requiert : iconv.dll (intégré) |
php_dotnet.dll | Fonctions .NET | PHP <= 4.1.1 |
php_exif.dll | Fonctions EXIF | php_mbstring.dll. Attention, php_exif.dll doit être chargé après php_mbstring.dll dans le php.ini. |
php_fbsql.dll | Fonctions FrontBase | PHP <= 4.2.0 |
php_fdf.dll | FDF : fonctions Forms Data Format. | Requiert : fdftk.dll (intégré) |
php_filepro.dll | Fonctions filePro | Accès en lecture seule |
php_ftp.dll | Fonctions FTP | Intégrées à PHP depuis la version 4.0.3 |
php_gd.dll | GD : bibliothèque de fonctions image | Supprimer en PHP 4.3.2. Notez que les fonctions sur les couleurs vraies ne sont pas disponibles en GD1 ; utilisez plutôt php_gd2.dll. |
php_gd2.dll | GD : Bibliothèque de fonctions image | GD2 |
php_gettext.dll | Fonctions Gettext | PHP <= 4.2.0 requiert gnu_gettext.dll (intégré), PHP >= 4.2.3 requiert libintl-1.dll, iconv.dll (intégré). |
php_hyperwave.dll | Fonctions HyperWave | Non |
php_iconv.dll | ICONV : conversion de jeux de caractères | Requiert : iconv-1.3.dll (intégré), PHP >=4.2.1 iconv.dll |
php_ifx.dll | Fonctions Informix | Requiert : bibliothèque Informix |
php_iisfunc.dll | Fonctions d'administration IIS | Non |
php_imap.dll | IMAP : fonctions POP3 et NNTP | Non |
php_ingres.dll | Fonctions Ingres | Requiert : bibliothèque Ingres |
php_interbase.dll | Fonctions InterBase | Requiert : gds32.dll (intégré) |
php_java.dll | Fonctions Java | PHP <= 4.0.6 requit : jvm.dll (intégré) |
php_ldap.dll | Fonctions LDAP | PHP <= 4.2.0 requiert libsasl.dll (intégré), PHP >= 4.3.0 requiert libeay32.dll, ssleay32.dll (intégré) |
php_mbstring.dll | Fonctions Chaînes multioctets | Non |
php_mcrypt.dll | Fonctions Mcrypt Encryption | Requiert : libmcrypt.dll |
php_mhash.dll | Fonctions Mhash | PHP >= 4.3.0 requiert : libmhash.dll (intégré) |
php_mime_magic.dll | Fonctions Mimetype | Requiert : magic.mime (intégré) |
php_ming.dll | Fonctions Ming pour Flash | Non |
php_msql.dll | Fonctions mSQL | Requiert : msql.dll (intégré) |
php_mssql.dll | Fonctions MSSQL | Requiert : ntwdblib.dll (intégré) |
php_mysql.dll | Fonctions MySQL | PHP >= 5.0.0, requires libmysql.dll (intégré) |
php_mysqli.dll | Fonctions MySQLi | PHP >= 5.0.0, requires libmysql.dll (libmysqli.dll en PHP <=5.0.2) (intégré) |
php_oci8.dll | Fonctions Oracle 8 | Requiert : bibliothèque cliente Oracle 8.1+ |
php_openssl.dll | Fonctions OpenSSL | Requiert : libeay32.dll (intégré) |
php_overload.dll | Fonctions Object overloading | Intégrée à PHP depuis la version 4.3.0, supprimé de PHP en version 5.0.0. |
php_pdf.dll | Fonctions PDF | Non |
php_pgsql.dll | Fonctions PostgreSQL | Non |
php_printer.dll | Fonctions Printer | Non |
php_shmop.dll | Fonctions de partage de mémoire | Non |
php_snmp.dll | Fonctions SNMP | NT seulement ! |
php_soap.dll | Fonctions SOAP | PHP >= 5.0.0 |
php_sockets.dll | Fonctions Socket | Non |
php_sybase_ct.dll | Fonctions Sybase | Requiert : bibliothèque cliente Sybase |
php_tidy.dll | Fonctions Tidy | PHP >= 5.0.0 |
php_tokenizer.dll | Fonctions Tokenizer | Intégrées à PHP depuis la version 4.3.0 |
php_w32api.dll | Fonctions W32api | Non |
php_xmlrpc.dll | Fonctions XML-RPC | PHP >= 4.2.1 requiert : iconv.dll (intégré) |
php_xslt.dll | Fonctions XSLT | PHP <= 4.2.0 requiert sablot.dll, expat.dll (intégré). PHP >= 4.2.1 requiert sablot.dll, expat.dll et iconv.dll (intégré). |
php_yaz.dll | Fonctions YAZ | Requiert : yaz.dll (intégré) |
php_zip.dll | Fonctions Zip File | Accès en lecture seule |
php_zlib.dll | Fonctions de compression ZLib | Intégrées à PHP depuis la version 4.3.0 |