Por que alternar entre versões do PHP quando você pode usar várias versões do PHP ao mesmo tempo com uma única instalação do xampp ? Com uma única instalação do xampp, você tem 2 opções:
Execute uma versão PHP mais antiga apenas para o diretório do seu projeto antigo:
isso servirá ao objetivo na maioria das vezes; você pode ter um ou dois projetos antigos que pretende executar com a versão PHP mais antiga. Basta configurar o xampp para executar a versão mais antiga do PHP apenas para esses diretórios do projeto.
Execute uma versão mais antiga do PHP em uma porta separada do xampp: Às vezes, você pode estar atualizando o projeto antigo para a versão mais recente do PHP quando precisar executar o mesmo projeto na nova e mais antiga versão do PHP. Em seguida, você pode definir uma versão mais antiga do PHP em uma porta diferente (por exemplo, 8056); portanto, quando você http://localhost/any_project/
acessa o xampp, executa o PHP 7 e, quando http://localhost:8056/any_project/
acessa o xampp, executa o PHP 5.6.
Execute uma versão mais antiga do PHP em um host virtual: Você pode criar um host virtual como o localhost56 para executar o PHP 5.6 enquanto pode usar o PHP 7 no localhost.
Vamos configurá-lo.
Etapa 1: Faça o download do PHP
Então você tem o PHP 7 rodando no xampp, você quer adicionar uma versão mais antiga do PHP, digamos PHP 5.6. Faça o download da versão nts (Non Thread Safe) do arquivo zip do PHP no php.net (consulte o arquivo para versões mais antigas) e extraia os arquivos em c:\xampp\php56
. A versão segura do thread não inclui o php-cgi.exe.
Etapa 2: configurarphp.ini
Abra o c:\xampp\php56\php.ini
arquivo no bloco de notas. Se o arquivo não existir cópia php.ini-development
para php.ini
e abri-lo no bloco de notas. Descomente a seguinte linha:
extension_dir = "ext"
Etapa 3: configurar o apache
Abra o painel de controle do xampp, clique no botão de configuração do apache e clique em Apache (httpd-xampp.conf)
. Um arquivo de texto será aberto, colocando as seguintes configurações na parte inferior do arquivo:
ScriptAlias /php56 "C:/xampp/php56"
Action application/x-httpd-php56-cgi /php56/php-cgi.exe
<Directory "C:/xampp/php56">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Nota: Você pode adicionar mais versões do PHP à sua instalação do xampp, seguindo as etapas de 1 a 3, se desejar.
Etapa 4 (opção 1): [Adicione diretórios para executar uma versão específica do PHP]
Agora você pode definir diretórios que serão executados no PHP 5.6. Basta adicionar o seguinte na parte inferior do arquivo de configuração para definir diretórios.
<Directory "C:\xampp\htdocs\my_old_project1">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
<Directory "C:\xampp\htdocs\my_old_project2">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
Etapa 4 (opção 2): [Execute a versão mais antiga do PHP em uma porta separada]
Agora, para configurar o PHP v5.6 na porta 8056, adicione o seguinte código na parte inferior do arquivo de configuração.
Listen 8056
<VirtualHost *:8056>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
Etapa 4 (opção 3): [Execute uma versão mais antiga do PHP em um host virtual]
Para criar um host virtual (localhost56) em um diretório (htdocs56) para usar o PHP v5.6 em http: // localhost56 , crie o diretório htdocs56 no local desejado e adicione localhost56 ao arquivo do host ( veja como ) e adicione o código a seguir na parte inferior do arquivo httpd-xampp.conf.
<VirtualHost localhost56:80>
DocumentRoot "C:\xampp\htdocs56"
ServerName localhost56
<Directory "C:\xampp\htdocs56">
Require all granted
</Directory>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
Concluir: Salvar e reiniciar o Apache
Salve e feche o arquivo de configuração. Reinicie o apache no painel de controle do xampp. Se você optou pela opção 2, pode ver a porta adicional (8056) listada no painel de controle do xampp.
Atualização para erro:
cabeçalho malformado do script 'php-cgi.exe': cabeçalho incorreto
Se você encontrar o erro acima, abra httpd-xampp.conf
novamente e comente a seguinte linha com um # inicial (caractere de hash).
SetEnv PHPRC "\\path\\to\\xampp\\php"