Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

dl

Оглавление

dl

(PHP 3, PHP 4)

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().


Оглавление

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог