assert
extension_loaded
PHP Options/Info Funkcje
PHP Manual

# dl

(PHP 4, PHP 5)

dl — Loads a PHP extension at runtime

### Opis

int dl ( string `$library` )

Loads the PHP extension given by the parameter `library` .

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()).

Ostrzeżenie

Ta funkcja jest PRZESTARZA�?A od PHP 5.3.0 i USUNI�?TA w PHP 6.0.0. Używanie tej funkcji nie jest zalecane.

### Parametry

`library`

  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:\php4\extensions\ 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.

### Zwracane wartości

Zwraca `TRUE` w przypadku powodzenia, `FALSE` w przypadku błędu. If the functionality of loading modules is not available (see Note) or has been disabled (either by turning it off enable_dl or by enabling tryb bezpieczny 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.

### Przykłady

Przykład #1 dl() examples

`<?php
// Example loading an extension based on OS
if (!extension_loaded('sqlite')) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
dl('php_sqlite.dll');
} else {
dl('sqlite.so');
}
}
// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>`

### Rejestr zmian

Wersja | Opis
--- | ---
5.3.0 | This function now throws an E_DEPRECATED notice on all sapi's except for CLI, CGI and Embed.

### Notatki

> Informacja: dl() is not supported in multithreaded Web servers. Use the extensions statement in your php.ini when operating under such an environment. However, the CGI and CLI build are not affected !

> Informacja: As of PHP 5, the dl() function is deprecated in every SAPI except CLI. Use Extension Loading Directives method instead.

> Informacja: Since PHP 6 this function is disabled in all SAPIs, except CLI, CGI and embed.

> Informacja: dl() is case sensitive on Unix platforms.

> Informacja: Ta funkcja jest niedostępna jeśli PHP działa w trybie bezpiecznym

### Zobacz też:

- Extension Loading Directives
- extension_loaded() - Find out whether an extension is loaded

assert
extension_loaded
PHP Options/Info Funkcje
PHP Manual