assert
extension_loaded
Funções para Opções/Info do PHP
PHP Manual

# dl

(PHP 4, PHP 5)

dl — Carrega uma extensão do PHP durante a execução

### Descrição

int dl ( string `$library` )

Carrega a extensão do PHP indicada pelo parâmetro `library` .

Use extension_loaded() para testar se uma extensão esta disponível ou não. Isto funciona para extensões internas e para aquelas carregadas dinamicamente (através do php.ini ou da função dl()).

### Parâmetros

`library`

  Este parâmetro é somente o nome do arquivo da exdtensão a carregar o qual também depende da sua plataforma. Por exemplo, a extensão sockets (se compilada como módulo compartilhado, não o padrão!) seria chamada sockets.so em plataformas Unix enquanto é chamada php_sockets.dll na plataforma Windows.

  O diretório a partir do qual a extensão é carregada depende da sua plataforma:

  Windows - Se for explicitamente definido no php.ini, a extensão é carregada a partir de c:\php4\extensions\ por padrão.

  Unix - Se não for explicitamente definido no php.ini, o diretório padrão das extensões depende de

  - se o PHP foi compilado com --enable-debug ou não
  - se o PHP foi compilado com suporte (experimental) ZTS (Zend Thread Safety) ou não
  - O ZEND_MODULE_API_NO (o número Zend internal module API, o que é basicamente a data onde houve uma mudança maior na API ex. 20010901)
  Levando em conta o acima, o diretório padrão poderá ser <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.

### Valor Retornado

Retorna `TRUE` em caso de sucesso ou `FALSE` em falhas. Se a funcionalidade de carregar os módulos não estiver disponível (veja a nota) ou foi desabilitada (ou por desativar enable_dl ou por ativar safe mode no php.ini) um `E_ERROR` é emitido e a execução é parada. Se dl() falhar porque a bliblioteca especificada mão puder ser carregada, em adição a `FALSE` uma mensagem `E_WARNING` é emitida.

### Exemplos

Exemplo #1 Exemplosdl()

`<?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);
}
?>`

### Notas

> Nota: dl() não e suportado em servidores multi-tarefa. Useextensions no seu php.ini quando estiver operando em um ambiente assim. Em todo o caso, as versões CGI e CLI não são afetadas!

> Nota: A partir do PHP 5, a função dl() esta obsoleta em todas as SAPI exceto CLI. Use o método de Diretivas para Carregar Extensões ao invés.

> Nota: Desde o PHP 6 esta função esta desabilitada em todas as SAPIs, exceto CLI, CGI e embutida.

> Nota: dl() diferencia maiúsculas e minúsculas em plataformas Unix.

> Nota: Esta função é desabilitada quando o PHP é executado em safe-mode

### Veja Também

- Diretivas para Carregar Extensões
- extension_loaded()

assert
extension_loaded
Funções para Opções/Info do PHP
PHP Manual