How to downgrade from php 7 to 5.6 on Fedora 25

I have installed Fedora 25 on a server and need to downgrade php from 7 to 5.6. I have done the following:

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

Everything worked fine but now everything is named php56 instead of php and so the system can't find anything. For example:

# 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

How do I take the last step and make everything (including packages) work like before?

I tried creating a symlink as follows, but php code does not run from the web, so the apache->php link is broken.

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

Thanks in advance.

3
задан 28 February 2017 в 00:47
1 ответ

Коллекции программного обеспечения так разработаны: параллельная установка без изменения базовой системы и возможность использования нескольких версий. Поэтому / usr / bin / php не предоставляется специально.

Вы можете прочитать Моя рабочая станция PHP .

Для mod_php (модуль apache), если вы можете удалить " php »(базовый пакет) и установите« php56-php »(который отсутствует в вашем списке), он будет работать сразу после установки. Если вы не можете удалить «php», вы можете отключить его директиву LoadModule (/etc/httpd/conf.modules.d/15-php.conf),поэтому модуль php5 будет загружен (/etc/httpd/conf.modules.d/10-php56-php.conf).

For FPM (FastCgi server), когда php56- Служба php-fpm запускается, вам нужно только адаптировать путь к сокету в конфигурации веб-сервера (apache, nginx или lighttpd)

Для CLI вы можете использовать команду модуля (и большинство приложений найдет php и связанные команды в PATH)

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

И если вам действительно нужна единственная версия, вы можете создать символическую ссылку, она будет работать:

$ 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) 
4
ответ дан 3 December 2019 в 06:01

Теги

Похожие вопросы