Utilizando múltiplas versões do PHP no Windows com Laragon

Quem trabalha com várias aplicações PHP ao mesmo tempo, sabe que muitas vezes a versão do PHP é diferente de uma aplicação para outra e que as vezes há problemas de compatibilidade entre uma versão e outra.

No Windows é muito comum utilizarmos o XAMPP ou WAMP para desenvolver localmente. Eles são ótimos caso você trabalhe com uma única versão do PHP, porém são muito “engessados”. Caso você precise de outra versão do Apache, MySQL e PHP, terá que instalar outra versão do programa.

Neste artigo, pretendo apresentar o Laragon, que tem uma proposta um pouco diferente do XAMPP e do WAMP. Com ele é possível escolhermos o que queremos instalar e trocar as versões sem muito esforço, além de vários recursos que facilitam nossa vida de desenvolvedor web.

Animação 1 – Troca de versão do PHP com Laragon

Instalando o Laragon

Primeiramente vamos instalar o Laragon. Para isso basta ir até a página de downloads dele. Lá você pode escolher entre a versão Full, Lite ou Portable.

Imagem 1 – Opções de download do Laragon

Eu recomento você baixar a versão Lite, pois ela vem apenas com um ambiente básico e caso você precise de algum recurso a mais, pode instalar mais tarde.

Durante a instalação há algumas opções.

Imagem 2 – Opções durante instalação
  • 1 – Run Laragon When Windows starts: Se você deseja iniciar o Laragon junto com o Windows, eu particularmente desmarco essa opção, pois prefiro inicia-lo manualmente quando eu precisar;
  • 2 – Auto virtual hosts: Esse recurso é muito interessante deixar habilitado, falaremos sobre ele mais adiante;
  • 3 – Add (…) to the Right-Click Menu: Se você quer adicionar as ferramentas citadas ao clicar com o direito em arquivos. Eu particularmente desmarco essa opção, pois não utilizo essas ferramentas.

Após finalizar a instalação, basta iniciar o Laragon e então clicar no botão Iniciar Tudo e pronto. Ao acessar o http://localhost você já terá um ambiente de desenvolvimento web com provavelmente as últimas versões do Apache, MySQL e PHP.

Imagem 3 – Ambiente web pronto

Instalando outra versão do PHP

Neste exemplo que utilizei, já veio com a versão 7.2 do PHP. Porém, vamos supor que eu tenha uma aplicação legada que funciona apenas na versão 5.6 do PHP, então você precisaria instalar essa versão também.

Primeiro, precisamos ir na parte de downloads do windows no site do PHP e procurar por essa versão.

Imagem 4 – Versões do PHP para download

Nesse site temos todo o histórico de versões do PHP para windows. No caso como preciso da 5.6, encontrei a última que foi lançada, que é a 5.6.9.

Para cada versão, temos alguns indicadores:

  • NTS (Non Thread Safe): “Thread Safety significa que o binário pode trabalhar em um contexto de servidor web multithread, como o Apache 2 no Windows. Thread Safety funciona criando uma cópia local em cada thread, de modo que os dados não colidirão com outra thread.“. Ou seja, se o PHP for rodar como binário CGI você pode utilizar o NTS, caso contrário, utilize o TS. (Fonte)
  • x64: versão compilada em 64-bit;
  • x86: versão compilada em 32-bit.
  • VCXX: versão do pacote redistribuível do Visual C++ necessária. Essa informação também é importante para saber qual versão do Apache precisaremos.

No meu caso, vou escolher a versão TS (Thread Safety) 64-bit, ou seja, php-5.6.9-Win32-VC11-x64.zip. Depois de baixado, basta descompactar na pasta C:\laragon\bin\php.

Imagem 5 – Pasta com versões do PHP

Agora repare que a versão 7.2 utiliza o VC15 e a 5.6 utiliza o VC11, portanto vamos precisar uma versão do Apache que utilize o VC11 para ser compatível com nossa versão do PHP.

Instalando outra versão do Apache

Primeiro, precisamos entrar na página de download do Apache.

Imagem 6 – Página de download do Apache

Como queremos uma versão mais antiga, podemos ir em Additional e então escolher a opção que precisamos, no caso a VC11.

Imagem 7 – Página download Apache 2.4 VC11

E ao entrar na página dessa versão, precisamos escolher entre a 64-bit (Win64) e 32-bit (Win32). No caso, como no PHP eu escolhi a versão 64-bit, devo escolher a versão 64-bit aqui também, portanto o arquivo httpd-2.4.38-win64-VC11.

Depois de baixado, basta descompactar o arquivo e então copiar a pasta Apache24 para a pasta C:\laragon\bin\apache e então renomear essa pasta para httpd-2.4.38-win64-VC11. A estrutura de pastas deve ficar igual na Imagem 8.

Imagem 8 – Estrutura de pasta do Apache

Trocando versão do Apache e PHP

Agora que temos outra versão do PHP e Apache instalada, basta utilizarmos o painel do Laragon pra trocá-las. Lembrando que sempre que você trocar a versão do PHP, deverá também selecionar a versão correta do Apache, para evitar problemas de compatibilidade.

Imagem 9 – Trocando versão do Apache
Imagem 10 – Trocando versão do PHP

Pronto, basta Iniciar Tudo novamente e a versão desejada do PHP estará funcionando. Lembrando que o INI do PHP e as extensões são especificas de cada versão, portanto caso você tenha alguma configuração em uma versão, terá que fazer na outra também, e o mesmo serve para as extensões.

Instalando extensões

Quando baixamos a versão do PHP, ela já vem com as extensões padrões. No painel do Laragon, podemos ir em Menu > PHP > Extensões e por ali mesmo ativar ou desativar as extensões, sem precisar entrar no INI do PHP. Porém, as vezes precisamos instalar uma extensão que não vem por padrão, um exemplo é o Xdebug.

Para instalar o Xdebug, basta entrarmos na página de download do site deles e escolhermos a versão de acordo com a versão do nosso PHP. No caso, vou querer a extensão para minha versão 7.2 do PHP.

Imagem 11 – Versões do Xdebug

Aqui eu tenho as mesmas opções de quando baixo o PHP. Posso escolher entre NTS (Non Thread Safe) e TS (Thread Safe) e 64-bit e 32-bit. Como o meu PHP 7.2 é TS e 64-bit, então irei escolher a opção PHP 7.2 VC15 TS (64 bit).

Após fazer o download, basta copiar a DLL para a pasta ext da sua versão do PHP, no meu caso em C:\laragon\bin\php\php-7.2.19-Win32-VC15-x64\ext. Depois é só ativar a extensão no painel do Laragon, assim como na Imagem 12, e pronto.

Imagem 12 – Ativando extensão do Xdebug

Virtual Host automático

Esse recurso do Laragon é uma mão na roda. Para cada pasta que você possuir na pasta raiz da web, o Laragon irá criar um Virtual Host automaticamente.

Por exemplo, se eu for na C:\laragon\www e criar uma pasta chamada projeto1 e depois for no painel e recarregar o Apache, automaticamente o Laragon irá criar um arquivo de Virtual Host do Apache para essa pasta, e então podemos acessar esse projeto pelo endereço http://projeto1.test.

Se você for em Menu > Apache > sites-enabled, verá que tem um arquivo chamado auto.projeto1.test.conf com as definições do Virtual Host.

<VirtualHost *:80> 
    DocumentRoot "C:/laragon/www/projeto1/"
    ServerName projeto1.test
    ServerAlias *.projeto1.test
    <Directory "C:/laragon/www/projeto1/">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

# If you want to use SSL, enable it by going to Menu > Apache > SSL > Enabled

Isso é muito interessante quando temos uma aplicação Laravel, por exemplo. Basta apenas iniciarmos um projeto Laravel em uma pasta, e ao recarregar o Apache, automaticamente o Laragon irá criar o Virtual Host para a pasta public do Laravel.

Conclusão

Neste artigo vimos que com o Laragon é muito mais simples gerenciar as versões do Apache e PHP, além disso é possível gerenciar a versão do MySQL também. E não se limita apenas a Apache e PHP, é possível utilizar Nginx e Node.JS também.

Vimos também que o Laragon possui muitos recursos que facilitam nosso dia-a-dia, como a criação automática de Virtual Hosts no Apache, mas também possui muitas outras opções e ferramentas em seu painel, como acessar arquivos de configurações, habilitar SSL, etc.

Espero que este artigo tenha sido útil pra você, até a próxima.

Referências