Fazendo com que o XAMPP funcione com várias versões do PHP

18

Como posso instalar o XAMPP para funcionar com diferentes versões do PHP?

Eu uso o XAMPP porque alguns dos scripts são defeituosos quando executados no WAMP. Eu uso o WAMP porque ele suporta versões diferentes do PHP.

Mas agora eu gostaria de simplificá-lo para apenas XAMPP, para que meu desenvolvimento web fosse mais fácil de gerenciar.

É possível configurar o XAMPP para funcionar com mais de uma versão do PHP? Ou é algo que eu tenho que procurar em uma solução alternativa?

Nota: Estou executando no Windows 7.

Pennf0lio
fonte
Você pode querer usar o WAMPSERVER em vez do Xampp. O WAMPSEVER contém a bandeja de opções da versão PHP; o que é útil.
Jay Weijing

Respostas:

8

Observe que
esta resposta não é válida para a nova versão do XAMPP.


Primeiro, você precisará parar o Apache do XAMPP . Então,

Vá em cmd e mude para a sua pasta XAMPP. Por exemplo, se sua pasta XAMPP estiver em C: \

C:\>cd C:\XAMPP 

Nesta pasta, há um arquivo chamado php-switch.bat, executado na linha de comando. Caso contrário, você também pode executar php-switch.batdiretamente.

Você verá a versão em que está agora e o procedimento para alternar. Por exemplo, digite 4para mudar o PHP 4 e siga o procedimento.

php-switch.bat rodando no terminal

O PHP 4 será instalado no diretório XAMPP \ PHP e alternará com êxito. em seguida, reative o Apache.

Ye Lin Aung
fonte
1
Não consigo encontrar o php-switch.bat no XAMPP 1.7.3 instalado. Existe uma versão específica do xamp que suporta isso? Obrigado!
Pennf0lio
Opa Acho que a versão atual não inclui mais o php4 apachefriends.org/f/viewtopic.php?f=16&t=33327 .. Acho que você precisará da versão mais antiga se quiser mudar para a v4
Ye Lin Aung
4
isso não é mais válido nas versões mais recentes do XAMPP
mauris
1
O que não é mais válido? Instalando versões PHP4 ou swiching?
AlxVallejo
4
não há mais php-switch.bat na nova versão
Toskan
5

O melhor método é alterar as configurações do PHP em

/apache/conf/extra/httpd-xampp.conf

para refletir a nova versão do PHP que você deseja usar

No meu caso, descompactei o PHP5.4 em C: \ XAMPPLITE \ PHP5.4 e atualizei as linhas-chave deste arquivo, como:

SetEnv PHPRC "C:\\xampplite\\php5.4"

LoadFile "C:/xampplite/php5.4/php5ts.dll"

PHPINIDir "C:/xampplite/php5.4"

Você também precisa garantir que a versão correta do php5apache2_2.dll esteja instalada

Para garantir isso, copiei a nova versão do php5apache2_2.dll no diretório de módulos do Apache com um nome exclusivo e modifiquei a configuração para corresponder a:

copy php5.4\php5apache2_2.dll apache\modules\php5apache2_2-5_4.dll

e no arquivo httpd-xampp.conf

LoadModule php5_module modules/php5apache2_2-5_4.dll
Judder
fonte
1

Se seus scripts estiverem com erros, eles permanecerão com erros, independentemente dos pacotes de servidor que você alternar. Se o problema estiver nas configurações do seu servidor, vá direto ao assunto e resolva-o.

A verdadeira solução seria instalar e gerenciar componentes do servidor (e suas configurações) manualmente. Desde que mudei do WAMP para a instalação de servidor auto-administrado, nunca mais senti necessidade de soluções de servidor pré-empacotadas.

antichris
fonte
Obrigado pelo conselho! A maioria das discussões sugere o uso do XAMPP como uma solução rápida e suja para o problema de script. Enquanto você tem razão, para mim é aconselhável alternar entre servidor (porque é rápido) e comparar com a bagunça na configuração do servidor, que eu não tenho idéia por onde começar.
Pennf0lio
Bem ... Mais cedo ou mais tarde, você poderá chegar a uma situação em que não há outra opção a não ser se aprofundar nas configurações (como configurar um servidor por meio de uma conexão de terminal). Caso você mude de idéia - você pode tentar diferenciar seus arquivos de configuração predefinidos do XAMPP / WAMP / LAMP com os de uma nova instalação independente do servidor e procurar os manuais sobre o significado dessas diferenças. Foi assim que aprendi o que sei agora.
antichris
Legal obrigado pela dica. Sim, concordo com o seu ponto de vista. Mas, por enquanto, lidarei com o meu problema, um de cada vez, e procurarei a solução mais rápida. : PI tem muitos prazos. Eu realmente aprecio a ajuda :)
Pennf0lio
Eu fiz uma pergunta semelhante, mas com mais funcionalidade aqui serverfault.com/questions/121810/… eu queria atualizar elementos individuais como apache, mysql, php e phpmyadmin no meu xampp. Ainda estou procurando uma solução para isso. Se alguém encontrar uma solução, por favor me avise. Obrigado
Gaurav Sharma
1

Se você deseja esse recurso (significado, capacidade de misturar e combinar compilações de componentes apache, mysql e php) e prefere os aplicativos de pilha AMP empacotados de terceiros, pode ver o WAMPServer 2.0 como uma opção para Windows ... Praticamente todos os outros A opção AMP incorporada que eu analisei (para Windows, Mac e Linux) não permite trocar compilações de componentes (não estou incluindo opções de PHP4 e PHP5 como compilações de componentes, pois elas realmente eram oferecidas apenas devido ao código legado até o PHP5 se tornar mais compatível com versões anteriores e o PHP4 menos abundante).

A maioria dos aplicativos de pilha AMP empacotados de terceiros, especialmente compilações de sistemas operacionais baseados em Unix (Mac e Linux), para ter os componentes de pilha na mesma estrutura de diretório que o diretório raiz "app", eles precisam compilar cada componente com diretivas específicas e argumentos que basicamente conectam algumas das referências de pastas e assinaturas binárias a cada um dos componentes se constroem ... especificamente os componentes mysql e php porque eles têm objetos de biblioteca compartilhados e que precisam ser referenciados e incluídos especificamente durante a compilação da fonte ... (e parece-me que a maioria não compila com todas as diretivas e bibliotecas opcionais incluídas ... não tenho certeza se isso resolveria o problema ou não porque eu cheguei tão longe com o meu projeto para responder isso ainda).

Uma outra observação, porque está dentro do mesmo contexto .... no que diz respeito aos comentários sobre o uso das instalações autônomas dos componentes versus as pilhas _AMPP, infelizmente, só sei o que escrevi acima porque tentei configurar usando os três componentes autônomos. o código fonte dos componentes e tentei comer meu bolo e comê-lo para .... embora nunca tenha tido nenhuma experiência em lidar com nenhum deles antes .... então posso dizer que existem 2 razões muito convincentes pelas quais os desenvolvedores fazem e deve usar as pilhas para ambientes de desenvolvimento local:

1) se o seu projeto está utilizando essa tecnologia, mas não está explicitamente estendendo a função no núcleo de nenhum componente, então a maioria só quer estar em funcionamento para poder trabalhar naquilo que precisa trabalhar ... e não ter para descobrir todas as configurações necessárias para os 3 componentes se comunicarem perfeitamente. Pode-se facilmente lutar por dias para aprender quais diretivas, módulos, bibliotecas, argumentos de compilação etc. são necessários. Se você já conhece, ótimo, mas não o recomende a alguém que não conhece, a menos que você faça isso por eles.

2) as pilhas empacotadas são autônomas e isoladas dos arquivos de configuração do SO, para que você possa lixeira no seu ambiente de desenvolvimento sem consequências graves ... se você deseja executar scripts que implantam arquivos na pasta "etc" necessária, não conheço você, mas eu posso cometer um erro de tempos em tempos e um erro na pasta ../XAMPP/etc é muito menos doloroso do que um erro na pasta / etc.

3) GUI ... GUI ... GUI ... nem todo mundo é uma linha de comando Mozart e as pilhas AMPP fornecem uma ótima GUI para ativar e desativar as coisas de acordo com o seu coração. Se você quiser uma GUI, gravitará em direção aos aplicativos AMPP Stack ... se você não se importa, tudo depende de quanto peso ou estoque você coloca nos meus pontos 1 e 2

Enfim, desculpe pela dissertação de "Como fazer alguém bocejar", espero que alguém consiga algo disso.

Eric Galuskin
fonte