dl

PHP 4, PHP 5, PHP 7, PHP 8
dl - Loads a PHP extension at runtime
Manual
Code Examples

dl( string$extension_filename ): bool

Loads the PHP extension given by the parameter extension_filename.

Use extension_loaded to test whether a given extension is already available or not. This works on both built-in extensions and dynamically loaded ones (either through php.ini or dl).

Warning:

This function was removed from most SAPIs in PHP 5.3.0, and was removed from PHP-FPM in PHP 7.0.0.

Parameters

extension_filename

This parameter is only the filename of the extension to load which also depends on your platform. For example, the sockets extension (if compiled as a shared module, not the default!) would be called sockets.so on Unix platforms whereas it is called php_sockets.dll on the Windows platform.

The directory where the extension is loaded from depends on your platform:

Windows - If not explicitly set in the php.ini, the extension is loaded from C:\php5\ by default.

Unix - If not explicitly set in the php.ini, the default extension directory depends on

whether PHP has been built with --enable-debug or not

whether PHP has been built with (experimental) ZTS (Zend Thread Safety) support or not

the current internal ZEND_MODULE_API_NO (Zend internal module API number, which is basically the date on which a major module API change happened, e.g. 20010901)

Taking into account the above, the directory then defaults to <install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, e.g. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 or /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Return Values

Returns true on success or false on failure. If the functionality of loading modules is not available or has been disabled (by setting enable_dl off in php.ini) an E_ERROR is emitted and execution is stopped. If dl fails because the specified library couldn't be loaded, in addition to false an E_WARNING message is emitted.

Notes

Note:

dl is not supported when PHP is built with ZTS support. Use the Extension Loading Directives instead.

Note:

dl is case sensitive on Unix platforms.

Related Functions

Example of dl

Show all examples for dl

PHP Version: