Instalar o PHP pode parecer uma tarefa ardua se você estiver fora do ambiente Linux, principalmente porque, na versão Windows, existem algumas dependências que, se não estiverem presentes podem ocasionar erros como a falta do arquivo MSVCR110.DLL ou parecidos.
Neste artigo, quero mostrar como instalar o PHP no Windows facilmente, sem se preocupar com o problema das dependências dele e já ter tudo funcional logo de cara, além de configurar e deixar o Composer e XDebug funcionais.
Em primeiro lugar, esqueça baixar do site no site oficial, https://windows.php.net/, vamos utilizar um gerenciador de pacotes que, além de instalar TUDO, vai permitir atualizar o PHP facilmente no futuro.
Antes de instalar PHP, uma nota sobre este artigo
Este artigo foi escrito com o intuito de servir como apoio para uma série de artigos que começou com PHP e MVC – Tudo o que você precisa saber, para saber mais sobre essa série ou acompanha-la assine a newsletter.
Este artigo funciona MUITO bem fora do contexto da série.
Conheça o Chocolatey
O Chocolatey é um package manager para Windows, algo como o Apt dos Debians like ou DNF do Fedora, ainda não temos um suporte e quantidade de pacotes tão bom quanto a “concorrência”, mas já resolve MUITOS problemas.
Instalar o Chocolatey é bem simples, basta rodar um comando no CMD ou Power Shell e pronto!
Acesse a página do projeto e clique no menu Install:
https://chocolatey.org/install
Escolha se quer instalar através do Power Shell ou CMD e abra-o em modo administrador (normalmente, clique direito e depois abrir como administrador).
Uma coisa importante a ressaltar é que instalar via Power Shell ou CMD não irá restringir o acesso apenas aquele cliente de linha de comando, eu executo o Chocolatey até no GitBash.

O comando pode demorar um pouco a executar e no final, se não der erro, tente digitar choco
.
Se ele retornar uma lista do que você pode fazer, ok, deu tudo certo.
Instalar PHP no Windows
O processo para instalar o PHP é super simples, basta executar um comando:
choco install php
Além do PHP, qualquer pacote que você NÃO tenha será instalado, se quiser ver mais informações sobre o que está sendo instalado basta olhar o link oficial:
https://chocolatey.org/packages/php
A versão instalada será a mais rescente, você pode FACILMENTE especificar uma versão do PHP:
choco install php --version 7.2.20
Substitua 7.2.20 pela versão que você quer, lembrando que (no momento que eu escrevo) a versão 7.1 do PHP e anteriores estão TODAS descontinuadas.
Se você quiser instegrar com o Apache ou um servidor web do gênero, saiba que precisará da versão thread safe, essa que é instalada por padrão é a non-thread safe (funciona como um cgi), a thread safe é usada para lidar com multiplos processos.
Para instalar a versão thread safe execute o comando a seguir:
choco install php /ThreadSafe
Atualizar o PHP no Windows
Atualizar o seu PHP também é, relativamente, simples:
choco update php
Relativamente, porque configurações precisam ser refeiras e extensões reinstaladas, vou falar como configurar o PHP no windows na próxima sessão.
Configurar o PHP no Windows
A primeira coisa a fazer é abrir o diretório de instalação do PHP (normalmente em c:/tools/php73
ou a versão do php no lugar de 73) e definir qual o propósito da instalação, se é para ambiente de produção (no servidor final) ou desenvolvimento e localizar o php.ini-{ambiente}
e copiar/renomear para php.ini
.
- php.ini-development – desenvolvimento
- php.ini-production – produção
Agora podemos configurar o PHP.
O importante pra mim aqui são:
- Upload de arquivos, porque o limite padrão é muito pouco
- Extenções, porque obviamente eu preciso de mais além do que vem no core do PHP
- Instalar o XDebug
No meu caso, eu abro o arquivo php.ini no Sublime e pesquiso por upload_max_filesize
e altero o valor de 2M
(2mb) para 500M
, mas dificilmente eu mando algo tão grande, só não quero ter que voltar aqui depois, no servidor de produção, altere esse valor para o mínimo possível para sua necessidade.
Se você tentar enviar um formulário ainda vai ter problemas porque precisa alterar o post_max_size
que vem com 8M
por padrão, novamente exagero um pouco e coloco 700M
.
As extenções ficam em uma lista bem organizada e TODAS comentadas (portanto, inutilizadas), eu pesquiso por ;extension=bz2
.
Para ativar uma extenção, remova o ;
(ponto-e-virgula) da frente da extenção, estas são as que eu ativo:
- extension=curl
- extension=fileinfo
- extension=gmp
- extension=intl
- extension=mbstring
- extension=mysqli
- extension=openssl
- extension=pdo_mysql
- extension=pdo_pgsql
- extension=pdo_sqlite
- extension=soap
- extension=xmlrpc
- extension=xsl
No momento não vou entrar no mérito sobre o que cada uma faz ou o motivo de eu ativar, só saiba que é uma configuração que funciona muito bem para mim.
Esta parte do meu arquivo fica assim:
;extension=bz2
extension=curl
extension=fileinfo
;extension=gd2
;extension=gettext
extension=gmp
extension=intl
;extension=imap
;extension=interbase
;extension=ldap
extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop
; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp
extension=soap
;extension=sockets
;extension=sodium
;extension=sqlite3
;extension=tidy
extension=xmlrpc
extension=xsl
E para finalizar vou instalar o XDebug, o processo é bem simples, seleciono TODO o conteúdo do php.init e copio, na sequência basta acessar:
Colar o conteúdo copiado anteriormente na textarea e clicar no botão Analyse my phpinfo() output e pronto, o site vai me dar um arquivo com versão exata que eu preciso para meu caso, basta copiar, adicionar ao diretório ext DENTRO do diretório do PHP e adicionar no php.ini (eu faço isso no final, você pode colocar onde quiser) os seguintes comandos:
zend_extension = php_xdebug-**.dll
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
Não esqueça de trocar php_xdebug-**.dll
pelo nome do arquivo, caso contrário o PHP não vai funcionar, as configurações da segunda e terceira linhas são para as IDEs se integrarem com o XDebug para eu poder debugar meu código.
Variáveis de ambiente
A última configuração que eu faço é ativar o PHP nas variáveis de ambiente, isso fará com que eu possa rodar o PHP em qualquer diretório, MUITO útil pra mim.
Basta apenas abrir as propriedades de sistema do Windows clicando com botão direito sobre Seu Computador e escolher propriedades, na sequência vá em Configurações avançadas do sistema, guia Avançado e por fim Variáveis de ambiente.
Atenção!!! Existe variáveis do usuário e variáveis do sistema, estou falando aqui sobre VARIÁVEIS DO SISTEMA.
Na lista de variáveis, procure por Path e clique em Editar.
Basta adicionar (sem remover nada) o diretório do PHP (no meu exemplo c:/tools/php73
), no Windows 10 é uma lista super simples de atualizar, nas versões anteriores era um campo de texto com diretórios separados por ; (ponto-e-virgula), adicione SEM REMOVER NADA.
Se tiver algum CMD, Power Shell ou ferramenta do gênero, feche completamente e abra de novo, por via das dúvidas, reinicie o computador.
Para testar tudo, rode php -v
em qualquer diretório que NÃO seja o diretório do PHP.
O resultado final desejado:

Instalando o Composer
Instalar o Composer é um processo bem simples, tanto que nem demanda um tutorial, rsrs, basta baixar o assistente de instalação direto do site oficial.
https://getcomposer.org/download/
Note que no subtitulo Windows Installer tem Composer-Setup.exe em azul, só clicar em instalar.
Você pode precisar instalar o Git:
Simples e eficiente, só precisa se localizar. Depois de instalado basta testar:
composer --version
Conclusão ao instalar PHP
Com isso você tem PHP e Composer instalados no seu computador, o PHP roda MUITO bem no Windows, ainda mais no 10, mas é visível o ganho de performance em um ambiente Linux de produção, não quero dizer o contrário ou desincentivar o uso do Linux, mas as vezes a necessidade de um dev na hora da escolha de um sistema operacional são mais complexas ou específicas. Além de que, o PHP ter uma ótima performance no Linux não tira o mérito do Windows, do Mac ou do Erik’s SO – Community Edition.
Aproveite seu PHP.
Olá Erik,
Primeiramente, parabéns pelo conteúdo, subscrito aqui.
Apenas uma dúvida, o acha viável ou produtivo utilizar a plataforma wsl do windows para instalação do php+composer e afins?
Forte abraço.
Opa,
Tudo bem Raphael?
Eu não gosto (opinião particular), no meu ambiente Windows (ainda que eu ache o Fedora MUITO superior nesse quesito, entendo mais do que ninguém o que significa necessidade) utilizo:
– Chocolatey para as instalações
– Git com GitBash (para linha de comando/terminal/no lugar do CMD/no lugar do PowerShell)
Juntamente com o VisualStudio Code, essa configuração me atende 90% bem, os outros 10% só com Fedora….
Espero ter ajudado.