Documentación offline PHP master

dl

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

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] dl es sensible a mayúsculas/minúsculas en plataformas Unix.

Véase también#

Directivas de carga de extensiones, extension_loaded