Como fazer o downgrade do php 7 para o 5.6 no Fedora 25

3

Instalei o Fedora 25 em um servidor e preciso fazer o downgrade do php de 7 para 5.6. Eu fiz o seguinte:

dnf remove php
dnf remove php-common
wget https://rpms.remirepo.net/fedora/remi-release-25.rpm
rpm -Uvh remi-release-25.rpm
dnf --enablerepo=remi install php56 php56-php-common php56-php-cli php56-php-mbstring php56-php-mcrypt php56-php-pear php56-php-xml php56-runtime php56-php-mysqlnd

Tudo funcionou bem, mas agora tudo é chamado php56 em vez de php e, portanto, o sistema não consegue encontrar nada. Por exemplo:

# php -r "echo 'Current PHP version: ' . phpversion();"
-bash: /usr/bin/php: No such file or directory
# php56 -r "echo 'Current PHP version: ' . phpversion();"
Current PHP version: 5.6.30

Como faço o último passo e faço tudo (incluindo pacotes) funcionar como antes?

Eu tentei criar um link simbólico da seguinte forma, mas o código PHP não é executado a partir da Web, por isso o link apache- > php está corrompido.

cd /usr/bin
ln -s /opt/remi/php56/root/usr/bin/php php

Obrigado antecipadamente.

    
por xivix 27.02.2017 / 23:47

1 resposta

3

É assim que as Coleções de Software são projetadas: instalação paralela sem alterar o sistema básico e permitir várias versões. Então / usr / bin / php não é fornecido de propósito.

Você pode ler Minha estação de trabalho PHP .

Para mod_php (módulo apache), se você pode remover "php" (pacote base) e instalar " php56-php " (que está faltando na sua lista) , funcionará fora da caixa. Se você não pode remover "php", você pode desativar sua diretiva LoadModule (/etc/httpd/conf.modules.d/15-php.conf), então o módulo php5 será carregado (/ etc / httpd / conf. modules.d / 10-php56-php.conf).

Para o FPM (servidor FastCgi), quando o serviço php56-php-fpm é executado, você só precisa adaptar o caminho para o socket na configuração do servidor web (apache, nginx ou lighttpd)

Para o CLI , você pode usar o comando module (e a maioria dos aplicativos encontrará o php e os comandos relacionados no PATH)

$ module load php56
$ php -v
PHP 5.6.30 (cli) (built: Jan 20 2017 17:58:52) 

E se você realmente quer uma versão única, você pode criar o link simbólico, vai funcionar:

$ ln -s /opt/remi/php56/root/usr/bin/php /usr/bin/php
$ php -v
PHP 5.6.30 (cli) (built: Jan 20 2017 17:58:52) 
    
por 28.02.2017 / 06:00