Instalando uma extensão PHP no Windows
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.
Onde encontrar uma 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.
Qual extensão baixar?
Algumas vezes você encontrará várias versões de uma DLL:
-
Versões numéricas diferentes (pelo menos os dois primeiros números devem bater)
-
Versões de thread safety diferentes
-
Arquiterturas de processador diferentes (x86, x64, ...)
-
Configurações de debug diferentes
-
etc.
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:
Ou, na linha de comando, execute:
drive:\\path\to\php\executable\php.exe -i
Carregando uma extensão
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.
Resolvendo problemas
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.