dl
  (PHP 4, PHP 5, PHP 7, PHP 8)
dl — Завантажує розширення PHP під час виконання
  
 
  Опис
  
  
  
   Використовуйте extension_loaded(), щоб перевірити, чи задане
   розширення вже доступне, чи ні. Ця функція працює в обох варіантах: для
   вбудованих розширень та для тих, що динамічно завантажуються (тобто для
   завантажених через php.ini, та для завантажених через dl()).
  
  Увага
   
    Ця функція доступна в CLI і вбудованих
    SAPI, а також в CGI-
    SAPI під час запуску з командного рядка.
   
   
  
 
  Параметри
  
   
    
     - extension_filename
- 
      
       Через цей параметр передається тільки назва файла
       розширення для завантаження, яка також залежить від платформи. Наприклад,
       розширення sockets (якщо
       скомпільоване як завантажуваний модуль, а не як початковий модуль!)
       буде називатись sockets.so на Unix-платформах, в той
       час як на Windows-платформах воно буде називатись
       php_sockets.dll.
       
       Директорія, звідки розширення завантажується, залежить від платформи:
       
       Windows - Якщо явно не підключено у файлі php.ini, початково,
       розширення завантажується із C:\php5.
       
       Unix - Якщо явно не підключено у файлі php.ini, початково,
       директорія розширення залежить від
        
        - 
         
          чи було зібрано PHP з параметром --enable-debug,
          чи ні
- 
         
          чи було зібрано PHP з підтримкою ZTS (Zend Thread Safety),
          чи ні
         
        
- 
         
          поточний внутрішній номер ZEND_MODULE_API_NO(внутрішній номер API Zend-модуля, який, як правило, є датою major-зміни
          модуля API, наприклад20010901)
 Беручи до уваги вищезазначене, маємо такі директорії для розширень за
       промовчанням<install-dir>/lib/php/extensions/ <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.
 
 
  Значення, що повертаються
  
   Повертає true у разі успіху або false в разі помилки. Якщо механізм завантаження модулів недоступний чи відключений
   (через значення off для директиви
   enable_dl у файлі php.ini), то
   видається повідомлення помилки E_ERROR
   та припиняється виконання. Якщо dl() провалюється через
   те, що зазначену бібліотеку не можна завантажити, на додаток до false буде
   видаватись повідомлення E_WARNING.
  
  
 
  Приклади
  
   
    Приклад #1 Використання dl()
    
<?php
// Приклад завантаження розширення, виходячи з ОС
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}
// Або використовуючи константу PHP_SHLIB_SUFFIX
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
     
    
  
  
 
  Примітки
  Зауваження: 
   
    dl() є регістро-чутливою на Unix-платформах.