int dl ( string $biblioteka )
Ładuje rozszerzenie PHP w podczas wykonywania skryptu.
Użyj extension_loaded(), aby sprawdzić, czy dane rozszerzenie jest już dostępne, czy nie. Działa to zarówno na wbudowanych rozszerzenia jak i dynamicznie ładowanych (albo poprzez php.ini lub dl()).
PARAMETRY:
$biblioteka
Ten parametr jest tylko nazwą pliku z rozszerzeniem do wczytania, które zależy także od Twojej platformy. Na przykład, wydłużenie socket (jeśli jest kompilowany jako moduł wspólnych, a nie domyślne!) Będzie nazywany sockets.so na platformach Unix mając na uwadze, że nazywa się php_sockets.dll na platformie Windows.
Katalogu, gdzie rozszerzenie są załadowane z zależności od platformy:
Windows - Jeśli nie jest wyraźnie określone w php.ini, rozszerzenie jest ładowane do c: \ php4 \ Extensions \ Defaults.
Unix - Jeśli nie jest wyraźnie określone w php.ini, domyślne rozszerzenie katalogu zależy od
* Czy PHP został zbudowany z - enable-debug lub nie
* Czy PHP został zbudowany z (eksperymentalne) ZTS (Zend Thread Bezpieczeństwa) czy nie
* Obecnego wewnętrznego ZEND_MODULE_API_NO
Biorąc pod uwagę powyższe, katalog, a następnie domyślnie <install-dir> / lib / php / extensions / <debug-or-not> - <zts-or-not>-ZEND_MODULE_API_NO, np. / usr/local/php/lib/php/extensions/debug-non-zts-20010901 lub / usr/local/php/lib/php/extensions/no-debug-zts-20010901.
Informacja: dl() nie jest obsługiwana w wielowątkowych serwerów sieci Web. Jednakże, CGI i CLI budowane, nie są naruszone!
Informacja: W PHP 5, funkcja dl() jest przestarzała w SAPI, z wyjątkiem CLI.
Informacja: Od PHP w wersji 6 niniejsza funkcja jest niedostępna we wszystkich SAPI, z wyjątkiem CLI, CGI i osadzonych.
Informacja: Jest brana pod uwage wielkość liter na platformach Unixowych.
Informacja: Ta funkcja jest niedostępna jeśli PHP działa w trybie bezpiecznym.
Kompatybilność: PHP4, PHP5.
Listing
// Przykłady wczytywania rozszerzeń na bazie OS
if (!extension_loaded('sqlite')) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
dl('php_sqlite.dll');
} else {
dl('sqlite.so');
}
}
// Lub, PHP_SHLIB_SUFFIX stała jest dostępna w PHP 4.3.0
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
Ranga: Administrator serwisu Punktów: 0