dl
  (PHP 4, PHP 5, PHP 7, PHP 8)
dl — Lädt eine PHP-Erweiterung zur Laufzeit 
  
 
  Beschreibung
  
  
  
   Verwenden Sie extension_loaded() um zu testen, ob die
   gewünschte Erweiterung bereits verfügbar ist oder nicht. Dies funktioniert
   sowohl bei eingebauten, als auch bei dynamisch geladenen Erweiterungen
   (entweder durch die php.ini, oder mittels dl()).
  
  Warnung
   
    Diese Funktion ist nur für die CLI- und die
    eingebetteten SAPIs sowie für die
    CGI-SAPI verfügbar, sofern sie
    über die Befehlszeile ausgeführt wird.
   
   
  
 
  Parameter-Liste
  
   
    
     - extension_filename
- 
      
       Dieser Parameter ist nur der Dateiname der zu
       ladenden Erweiterung, welcher von der Plattform abhängig ist, z. B.
       würde die Erweiterung sockets (wenn
       als shared module kompiliert, nicht standardmäßig!) auf
       Unix-Plattformen sockets.so heißen, und auf
       Windows-Plattformen php_sockets.dll.
       
       Das Verzeichnis, von wo aus die Erweiterung geladen wird, hängt von der
       Plattform ab:
       
       Windows - Wenn nicht explizit in der php.ini angegeben, wird die
       Erweiterung standardmäßig von c:\php5\ geladen.
       
       Unix - Wenn nicht explizit in der php.ini angegeben, hängt das
       standardmäßige Verzeichnis ab von:
        
        - 
         
          ob PHP mit --enable-debugerstellt wurde oder
          nicht
- 
         
          ob PHP mit ZTS- (Zend Thread Safety) Unterstützung erstellt wurde
          oder nicht
         
        
- 
         
          der aktuellen internen ZEND_MODULE_API_NO(Zend-interne Modul-API-Nummer, welche im Grunde das Datum der
          letzten größeren Modul-API-Änderung darstellt, z. B.20010901).
 Das obige in Betracht gezogen, ist das standardmäßige Verzeichnis<install-dir>/lib/php/extensions/<debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO,
       z. B.
       /usr/local/php/lib/php/extensions/debug-non-zts-20010901
       oder
       /usr/local/php/lib/php/extensions/no-debug-zts-20010901.
 
 
  Rückgabewerte
  
   Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben. Ist die Funktionalität des Ladens von Modulen nicht
   verfügbar, oder wurde sie deaktiviert (durch Deaktivieren von
   enable_dl in der php.ini), wird ein
   E_ERROR ausgegeben, und die Ausführung gestoppt.
   Scheitert dl(), weil die angegebene Erweiterung nicht
   geladen werden konnte, wird zusätzlich zu false eine
   E_WARNING-Meldung ausgegeben.
  
  
 
  Beispiele
  
   
    Beispiel #1 dl()-Beispiele
    
<?php
// Beispiel für das Laden einer Erweiterung je nach Betriebssystem
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}
// Oder unter Verwendung der Konstante PHP_SHLIB_SUFFIX
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
     
    
  
  
 
  Anmerkungen
  Hinweis: 
   
    dl() unterscheidet auf Unix-Plattformen zwischen Groß-
    und Kleinschreibung.