No Windows há duas maneiras de carregar uma extensão PHP: compilando-a no PHP ou carregando por DLL. Carregar uma extensão pré-compilada é a maneira mais fácil e preferível.
Para carregar uma extensão é necessária o arquivo ".dll" apropriado para o seu sistema. Todas as extensões são automaticamente e periodicamente compiladas pelo PHP Group. (veja na próxima seção como baixar).
Para compilar uma extensão no PHP, veja a documentação sobre compilação de código fonte.
Para compilar uma extensão apenas (um arquivo DLL), veja a documentação compilação de código fonte. Se a DLL não estiver anteriormente disponível e nem distribuída no PHP ou PECL, você precisará compila-la antes de usar a extensão.
Extensões do PHP normalmente tem o nome "php_*.dll" (onde o asterisco representa o nome da extensão) e elas estão localizadas na pasta "PHP\ext".
O PHP vem acompanhando das extensões mais utilizadas pela maioria dos desenvolvedores. São as chamadas extensões "core" do PHP.
Entretanto, se você precisa de uma funcionalidade não provida por uma extensão core, você ainda pode encontrá-la no PECL. A PHP Extension Community Library (PECL) é um repositório de extensões PHP, que provê um ambiente para todas as extensões conhecidas e hospedagem do downdload e desenvolvimento de extensões PHP.
Se você desenvolveu uma extensão para seus próprios usos, você pode desejar hospedá-la no PECL de forma que outros desenvolvedores com as mesmas necessidades podem se beneficiar do seu tempo. Um belo efeito colateral é que que você pode receber feedbacks, agradecimentos, avisos de erros e até mesmo correções/patchs. Antes de submeter sua extensão para hospedagem no PECL, leia o » Submissão ao PECL.
Algumas vezes você encontrará várias versões de uma DLL:
Você deve ter em mente que sua extensão precisa bater com todas as configurações do executável do PHP que está utilizando. O scripte seguinte lhe dirá todas as configurações:
Exemplo #1 A função phpinfo()
<?php
phpinfo();
?>
Ou, na linha de comando, execute:
drive:\\path\to\php\executable\php.exe -i
O jeito mais comum de carregar uma extensão é incluí-la no seu arquivo php.ini. Veja que muitos extensões já podem estar presentes no php.ini e só é preciso remover o ponto e vígula para ativá-las.
;extension=php_extname.dll
extension=php_extname.dll
Em alguns servidores web podem não utilizar o arquivo php.ini disponibilizado ao lado do seu executável do PHP. Para saber qual php.ini está sendo utilizado veja seu caminho através da função phpinfo():
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File C:\Program Files\PHP\5.2\php.ini
Após ativar uma extensão, salve o arquivo php.ini, reinicie o servidor web e verifique o phpinfo() novamente. A nova extensão deve aparecer em uma seção própria.
Se uma extensão não aparecer no phpinfo() você deve checar seus logs para ver qual problema ocorre.
Se está usando o PHP da linha de comando (CLI), erros de carregamento de extensãopodem ser lidos diretamente na tela.
Se estiver utilizando o PHP através de um servidor web, a localização e formato dos logs irão variar dependendo desse software. Veja a documentação do servidor web para localizar os logs, pois isso não tem a ver com o PHP em si.
Problemas comuns são o caminho do arquivo DLL, o valor da configuração " extension_dir" dentro do php.ini e diferenças de configurações de compilação.
Se o problema for em diferenças de configurações de compilação, você provavelmente não baixou a DLL correta. Tente baixar novamente a extensão com as configurações corretas. Novamente o phpinfo() é de grande ajuda.