dl
En esta página
dl
Carga una extensión PHP dinámicamente
Descripción#
dl(string $extension_filename): bool
```php
Carga la extensión PHP `extension_filename` dinámicamente.
Utilice la función `extension_loaded` para verificar si una extensión está cargada o no. Esta función funciona tanto con extensiones nativas como con extensiones cargadas dinámicamente (vía el `php.ini` o `dl`).
> [!WARNING]
> Esta función solo está disponible para los SAPI CLI e integrados, y el SAPI CGI cuando se ejecuta desde la línea de comandos.
## Parámetros
`extension_filename`
Este parámetro es *solo* el nombre de archivo de la extensión, que depende de la plataforma. Por ejemplo la extensión [sockets](#ref.sockets) (si compilada como módulo compartido, y no por defecto), se llamará `sockets.so` bajo Unix, y `php_sockets.dll` bajo Windows.
La carpeta desde la cual se cargan las extensiones depende de la plataforma:
Windows - Si no se indica explícitamente en el archivo `php.ini`, la extensión se carga desde `C:\php5\` por defecto.
Unix - Si no se indica explícitamente en el archivo `php.ini`, la carpeta de extensiones depende de
- Si PHP fue compilado con la opción `--enable-debug` o no
- Si PHP fue compilado con soporte para ZTS (`Zend Thread Safety`) o no
- de la constante interna `ZEND_MODULE_API_NO` (versión interna de API de módulo Zend, que en realidad es la fecha en que se realizó una modificación importante de la API, por ejemplo `20010901`)
Considerando estos parámetros, la carpeta de extensiones será entonces `<install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO`, por ejemplo `/usr/local/php/lib/php/extensions/debug-non-zts-20010901` o `/usr/local/php/lib/php/extensions/no-debug-zts-20010901`.
## Valores devueltos
Esta función retorna `true` en caso de éxito o `false` si ocurre un error. Si la funcionalidad de carga de módulos no está disponible, o ha sido desactivada (desactivando la directiva [enable_dl](#ini.enable-dl) en el `php.ini`) se emitirá un `E_ERROR` y la ejecución del script será detenida. Si la función `dl` falla porque la biblioteca no pudo ser encontrada, `dl` retornará `false` y emitirá un mensaje de advertencia `E_WARNING`.
## Ejemplos
Ejemplos con `dl`
```php
Notas#
[!NOTE]
dles sensible a mayúsculas/minúsculas en plataformas Unix.
Véase también#
Directivas de carga de extensiones, extension_loaded