Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
dl
(PHP 3, PHP 4, PHP 5)
dl - загружает РНР-расширение на этапе прогона.
Описание
bool dl ( string library)
Загружает расширение PHP, заданное параметром library. Параметр library это только имя загружаемого файла расширения, которое также зависит от используемой платформы. Например, расширение sockets (если скомпилировано как shared-модуль, не по умолчанию!) может называться sockets.so на unix-платформах и php_sockets.dll - на платформах windows.
Возвращает TRUE при успехе, FALSE при неудаче . Если функциональность загружаемых модулей недоступна (см. Примечания) или отключена (через отключение enable_dl или включением safe_mode в php.ini), возникает E_ERROR, и выполнение останавливается. Если dl() терпит неудачу из-за того, что специфицированная библиотека не может быть загружена, в дополнение к FALSE выдаётся сообщение E_WARNING.
Используйте extension_loaded() для проверки доступности расширения. Это работает и с встроенными, и с динамическими расширениями (через php.ini или dl()).
Пример:
if (!extension_loaded('gd')) {
if (!dl('gd.so')) {
exit;
}
}
Директория, из которой расширение загружается, зависит от вашей платформы:
Windows - если в php.ini не установлено явно, расширение по умолчанию загружается из c:\php4\extensions\.
Unix - если в php.ini не установлено явно, директория по умолчанию расширения зависит от:
-
того, построен ли PHP с опцией --enable-debug, или нет
-
того, построен ли PHP с (экпериментальной) ZTS (Zend Thread Safety) поддержкой, или нет
-
текущего внутреннего ZEND_MODULE_API_NO (номера API внутреннего модуля Zend, который в основе представляет собой дату изменения главного модуля API, например, 20010901)
Учитывая всё вышесказанное, по умолчанию директория будет <php-install-directory>/lib/php/extension/<debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, например, /usr/local/php/lib/php/extensions/debug-non-zts-20010901 или /usr/local/php/lib/php/extensions/no-debug-zts-20010901.
Примечание: dl() не поддерживается в многопоточных Web-серверах. Используйте в таком окружении оператор extensions в файле php.ini. Однако на построения как CGI и CLI это не влияет!
Примечание: dl() чувствительна к регистру на unix-платформах.
Смотрите также Директивы загрузки расширений и extension_loaded().
Описание на ru2.php.netОписание на php.ru