(PHP 4, PHP 5)
dl — Carrega uma extensão do PHP durante a execução
$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()).
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
Retorna TRUE
em caso de sucesso ou FALSE
em caso de falha. 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.
Exemplo #1 Exemplos dl()
<?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);
}
?>
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: This function is disabled when PHP is running in safe mode.