(PHP 4, PHP 5)
dl — Charge une extension PHP à la volée
$library
)
Charge l'extension PHP library
à la volée.
Utilisez la fonction extension_loaded() pour vérifier qu'une extension est chargée ou non. Cette fonction travaille aussi bien avec les extensions natives qu'avec les extensions dynamiquement chargées (via le php.ini ou dl()).
Cette fonction a été supprimée du SAPI en PHP 5.3.
library
Ce paramètre est seulement le nom de fichier de l'extension, qui dépend de votre plate-forme. Par exemple l'extension sockets (si compilée comme module partagé, et non par défaut), sera appelée sockets.so sous Unix, et php_sockets.dll sous Windows.
Le dossier à partir duquel sont chargées vos extensions dépend de votre plate-forme :
Windows - S'il n'est pas explicitement indiqué dans le fichier php.ini, le dossier des extensions est c:\php4\extensions\ (PHP 4) ou C:\php5\ (PHP 5) par défaut.
Unix - S'il n'est pas explicitement indiqué dans le fichier php.ini, le dossier des extensions dépend de
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient. Si la fonctionnalité de chargement de module n'est pas
disponible, ou a été désactivée (soit en désactivant la directive
enable_dl ou en activant le safe mode
dans le php.ini) une E_ERROR
sera émise et
l'exécution du script sera stoppée. Si la fonction
dl() échoue parce que la bibliothèque n'a pu être
trouvée, dl() retournera FALSE
et émettra un
message d'alerte E_WARNING
.
Exemple #1 Exemples avec dl()
<?php
// Chargement pour toutes plates-formes
if (!extension_loaded('sqlite')) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
dl('php_sqlite.dll');
} else {
dl('sqlite.so');
}
}
// Mais la constante PHP_SHLIB_SUFFIX est disponible depuis PHP 4.3.0
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
Version | Description |
---|---|
5.3.0 | dl() est maintenant désactivé dans quelques SAPIs en raison de son instabilité. Le seul SAPI qui active dl() sont CLI et Embed. Utilisez les directives de chargement d'extension à la place. |
Note:
dl() n'est pas supporté lorsque PHP est compilé avec le support ZTS. Utilisez les directives de chargement d'extension à la place.
Note:
dl() est sensible à la casse sur les plates-formes Unix.
Note: Cette fonction est désactivée par le safe-mode