versoes-php-xampp

Xampp com várias versões de PHP

É possível rodar o Xampp com outras versões além da varsão instalada originalmente pelo aplicativo. Claro que você pode escolher a instalar o xampp com a uma versão específica do PHP. Mas, por padrão, estará apenas a versão escolhida instalada. Assim, para mudar de versão, teria de desistalar o xampp e reinstalar com outra versão do xampp, que rode a nova versão do PHP.

Portanto, neste artigo, vou mostrar como colocar o Xampp para rodar simultaneamente várias versões do PHP, onde voce porderá criar um novo projeto, e definir para o diret´ório desse projeto, qualquer versão do PHP.

1. Baixar o PHP

Primeiro é preciso ir no site do PHP e baixar a versão que precisa ser instalada. Para isso, é preciso ir ao site do PHP e em downloads escolher a versão que precisa baixar observando o sistema operacional e a arquitetura que você usa. No entanto, o Xampp só roda a versão Thread Save do PHP, portanto, confirme se é essa antes de baixar!

Em seguida, descompacte a versão baixada e renomeie o arquivo para identificar o PHP e a versão (Ex: PHP83 para a versão 8.3.0 do php, ou PHP74 para a versão 7.4.33 do PHP).

Por fim, copie essa pasta para dentro da pasta de instalação do xampp, que por padrão, no windows fica em c:/xampp.

2. Configurar o Apache

No aplicativo Xampp, na linha do Apache, click em config e selecione ‘Apache (httpd-xampp-conf)’ e vai abrir o arquivo httpd-xampp-conf. Nesse arquivos vamos informar ao apache que está disponivel uma nova versão do PHP.

Editar configurações do apache
httpd-xampp-conf

Essa ação abrirá o aquivo de configuração. No final desse arquivo vamos adicionar as instruções a seguir que nesse exemplo vai acrescentar a compaibilidade com versão 7.4 do PHP:

ScriptAlias /php74 "C:/xampp/php74"
Action application/x-httpd-php74-cgi /php74/php-cgi.exe
<Directory "C:/xampp/php74">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

Para acrescentar a versão 8.2 do PHP precisaria substituir todos os lugares onde tem php74 por php82.

3. Associar um Projeto a uma versão do PHP

Por fim temos que definir que versão do PHP estamos usando em um determinado projeto. No Xampp criamos uma pasta para cada projeto. Essa pasta fica localizada dentro da pasta c:/xampp/htdocs.

Assim, para associar uma determinada versão do php ao projeto é preciso definir, nas configurações do Apache, que versão vamos usar ao acessar o diretório do projeto.

Portanto, para ter um projeto que rode PHP 7 no Xampp com uma instalação padrão com o PHP na versão 8.1 (versão padrão do Xampp mais recente na data que escrevo o arquivo) faríamos o seguinte:

1. Criar uma pasta para o projeto

C:\xampp\htdocs\projeto-php-7

2. Associar a pasta a versão do php no arquivo de configuração do apache

Abrir o arquivo httpd-xampp-conf, da mesma forma que fizemos no inicio, e acrescentar o texto a seguir:

<Directory "C:\xampp\htdocs\projeto-php-7">
    <FilesMatch "\.php$">
	 SetHandler application/x-httpd-php74-cgi
    </FilesMatch>
</Directory>

3. Reiniciar o Apache

Enfim, depois de inseridas as configurações e criado a estrutura inicial teste a versão criando um arquivo info.php com codigo phpinfo() para ver se está tudo ok.

Observações finais

Assim poderemos ter quantas versões quisermos do PHP rodando simultaneamente no Xampp. O unico incoveniente é para quem for rodar o PHP composer, que se intalado de modo global, vai sempre usar o PHP padrão…

Publicado por

Lisanias Loback

Pastor na Igreja Casa de Oração Para Todos os Povos, trabalhando na área social no NUSELON - Núcleo Social Evangélico de Londrina, uma ONG que cuida de crianças em situação de riscos. Atua na área de ensino teológico e na área de TI. É formado em Teologia pela UNIFIL e é técnico em contabilidade.

6 comentários em “Xampp com várias versões de PHP”

  1. Tentei seguindo seu script, mas não consegui enconteri outro artigo sobre nesse exemplo que indica colocarmos outra porta para outra versão do php: ScriptAlias /php81/ “C:/xampp/php81/”

    AllowOverride None
    Options None
    Require all denied

    Require all granted

    Listen 8092

    UnsetEnv PHPRC

    php_flag engine off
    SetHandler application/x-httpd-php81
    Action application/x-httpd-php81 “/php81/php-cgi.exe”

    no navegador basta acessar localhost:8092/info.php ou a porta que você configurar

    1. Para executar o projeto com o php 8.1 como rodar comandos via composer para instalação de pacotes, execute o seguinte comando no terminal: set PATH=C:\xampp\php81;%PATH%

    2. Valeu pelo retorno. Vou tentar reinstalar em uma máquina viartual para ver se houve alguma alteração em relação ao que tenho publicado. Esse post foi feito em cima da ultima instalação em uma máquina real e está funcionando até agora! Obs: com Windows 10! A propósito, qual sistema você está usando?

Nos encoraje deixando seu comentário aqui.