|
Table des matières
dl(PHP 3, PHP 4, PHP 5) dl – Charge une extension PHP à la volée Description
int dl ( string library ) dl() charge l’extension PHP “library” à la volée. Le paramètre “library” 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. 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()).
<?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); } ?> 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\”. Unix - S’il n’est pas explicitement indiqué dans le fichier “php.ini”, le dossier des extensions dépend de
En prenant ces paramètres en considération, le dossier des extensions vaut alors “<php-install-directory>/lib/php/extension/<debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO”, i.e. “/usr/local/php/lib/php/extensions/debug-non-zts-20010901” ou “/usr/local/php/lib/php/extensions/no-debug-zts-20010901”.
Travail collaboratifContribuez, en ajjoutant des elements a cette page de manuel : Merci de votre aide |