
Estou tentando configurar um servidor CentOS com várias versões de php.
Consegui fazer isso até agora instalando as coleções de software REMI php56
e php70
coloquei o Apache rodando com versões diferentes, etc.
Até agora tudo bem. Digitar php
na linha de comando não fornece nenhuma informação, mas php56 -v
fornece, por exemplo. Até agora, esse é o comportamento esperado.
Tenho algumas dúvidas agora:
1 - Agora estou curioso para saber o que acontecerá com softwares que possuem scripts que utilizam php
na linha de comando. Gosta de scripts de compositor? Obviamente, se os scripts tentarem executar o php da linha de comando, eles falharão.
1a. É correto supor que devo criar uma ligação simbólica entre php
o real, php70
por exemplo?
1b. Existem outros executáveis que também precisam ser vinculados? Eu vi algum lugar que phar
estava vinculado e algumas outras coisas. Como posso saber todos os arquivos que precisam ser vinculados?
2 - Se tento instalar phpmyadmin
via YUM, ele espera baixar php 5.4
o pacote. Isso por si só levanta muitas questões em minha mente. O que eu faço neste caso, porque definitivamente não quero o 5.4 perto do meu sistema. E acho que, obviamente, se eu seguir a etapa 1a acima, o YUM ainda solicitará o download da dependência do php. Existe uma maneira de evitar isso ou possivelmente "explicar" ao YUM que o php já está instalado como php70, digamos? Ou simplesmente ignorar a dependência?
Desculpe se essas são perguntas bobas, tenho experiência limitada em Linux e definitivamente não tenho conhecimento suficiente de YUM. Além disso, esta é a primeira vez que enfrento um problema de várias versões. Obrigado!
ATUALIZAR:
Entendo que instalei os pacotes específicos da versão e isso ocorre principalmente porque eu queria várias versões para o Apache. Acho que a questão é como lidar com outro software que deseja executar php na linha de comando, como lidar com as dependências do YUM php e qual é a abordagem usual para este cenário?
Responder1
Perceber: tanto o PHP 5.6 quanto o 7.0 chegaram ao fim da vida útil e só são suportados pela comunidade commelhor esforço; Eu recomendo vivamente usarversões suportadas(7,1+).
1 - Agora estou curioso para saber o que acontecerá com softwares que possuem scripts que utilizam php na linha de comando.
Como a maioria dos scripts usa "/usr/bin/env php", você simplesmente precisa habilitar a versão apropriada antes de executar o script
module load php71
php -v
composer install
1a. É correto assumir que devo criar um link simbólico entre o php e o php70 real, por exemplo?
Sim, funcionará, você também pode instalar ophp56-syspathsOUphp70-syspathspacote que fará o trabalho para você
2 - Se eu tentar instalar o phpmyadmin via YUM..
Os aplicativos empacotados dependem do PHP padrão e não reconhecem o SCL instalado.
Para várias versões, será muito mais simples instalar:
- versão padrão (pacotes php-*) do repositório remi-php##
- versão alternativa (pacotes php##-php*) do repositório remi-safe
Veja oInstruções do assistente.
Perceber: aplicativos no repositório EPEL (por exemplo, phpMyAdmin, GLPI, Wordpress, roundcubemail...) não funcionarão com a versão recente do PHP (7+), então você também terá que pegar a versão mais recente do repositório "remi", quando disponível.