Carrega a extensão do PHP indicada pelo parâmetro library. O parâmetro library é somente o nome do arquivo da extensão para carregar o qual depende da sua plataforma. Por exemplo, a extensão sockets (se compilada como módulo compartilhado, o que não é o padrão) deve ser chamado como sockets.so em plataformas Unix enquanto é chamado php_sockets.dll em plataformas Windows.
Retorna TRUE em caso de sucesso ou FALSE em falhas. Se o funcionamento de carregar módulos não estiver disponível (veja a nota) ou for desabilitado (ou por colocar em off enable_dl ou ativando o safe mode no php.ini) um E_ERROR é emitido e a execução é encerrada. Se dl() falhar porque a biblioteca especificada não puder ser carregada, em adição ao FALSE uma mensagem E_WARNING é emitida.
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()).
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)
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: dl() diferencia maiúsculas e minúsculas em plataformas Unix.
Nota: Esta função é desabilitada no safe-mode
Veja também Extension Loading Directives e extension_loaded().