- How can I downgrade from PHP 7 to PHP 5.6 on Ubuntu 16.04? [duplicate]
- 4 Answers 4
- Как понизить версию php 7.4 до 5.6 в Vesta на Ubuntu
- Понижение и повышение версии PHP в Ubuntu вариант 1
- Для Apache mod_php:
- ПЕРЕКЛЮЧЕНИЕ МЕЖДУ ВЕРСИЯМИ PHP вариант 2
- How do I install different (upgrade or downgrade) PHP version in still supported Ubuntu release?
- 2 Answers 2
- PHP 5.4
How can I downgrade from PHP 7 to PHP 5.6 on Ubuntu 16.04? [duplicate]
I am trying to revert my PHP version to 5.6 from 7 and though I removed PHP 7 and then installed PHP 5.6 I still seem to be running version 7. Is there a simple method for moving through PHP versions where apache, phpMyAdmin and co are configured appropriately? A simple way to change the current version of PHP on the fly and even site by site would be great.
what the output of dpkg -l | grep php| awk ‘
dh-php libapache2-mod-php5 php-common php-json php-pear php-xml php5-cli php5-common php5-json php5-readline php5.6 php5.6-bz2 php5.6-cli php5.6-common php5.6-curl php5.6-dev php5.6-fpm php5.6-gd php5.6-json php5.6-mcrypt php5.6-mysql php5.6-opcache php5.6-readline php7.0-common php7.0-json php7.0-xml pkg-php-tools
I see some php7 packages there remove them with aptitude purge php7.0-common php7.0-json php7.0-xml also I want to know what you mean by all my php is rendering as text now
it means you miss libapache2-mod-php5.6 package . see my answer below, you don’t need to remove php7.0
4 Answers 4
Update
Today I got again problem with PHP 7 running despite I have disabled php7.0 apache module: phpinfo was showing php 7 using fastCGI .
. So if after you follow the below instructions you face this situation, you may need to disable the proxy_fcgi apache module:
sudo a2dismod proxy_fcgi proxy; sudo service apache2 restart
1. Re-Install PHP 5.6
Actually is not required to remove php7.0 , you can install php5.6 together ( also because you will have dependency problem with phpmyadmin package that required php7.0)
Assuming libapache2-mod-php is a suitable way to enable PHP in Apache for you, you can proceed in this way:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-mbstring php7.0-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0
2. Switch PHP version:
- From php5.6 to php7.0:
- Apache:
sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart
sudo update-alternatives --set php /usr/bin/php7.0
sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
sudo update-alternatives --set php /usr/bin/php5.6
@Postadelmaga It works to change the PHP version for the web apps. Thanks a lot! But the CLI still runs PHP7. Do you know how to switch that to PHP5.6 as well?
Best way to do it is to remove stock php packages, add Ondrej ppa and then install php7 and php5.6, remember you have phpenmod -v 5.6 to enable a php5.6 module and phpenmod -v 7.0 to enable a php 7.0 module, more info here disqus.com/home/discussion/serversforhackers/…
@Daenu that because php -v is will show you the php cli version . the command suggested is for Apache . if you do a phpinfo() in a webpage you will see the difference.
Ubuntu 16.04 comes with php 7.0 , and some php applications might still fail with php 7.0 .Therefore, in some cases, it might be sensible to have both php 7.0 and php 5.x , so that you can choose which version to use for your needs at any time.
xavi@computer# sudo su root@computer# add-apt-repository ppa:ondrej/php root@computer# apt-get update root@computer# apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0 php5.6-curl php5.6-gd php5.6-mcrypt php5.6-xml php5.6-xmlrpc
Installing both php5.6 & php7.0 was clean in my case: no complain of issues, etc.
To switch from php 5.6 to php 7.0 you need to do two things:
# For php in web apps sudo a2dismod php5.6 && sudo a2enmod php7.0 && sudo service apache2 restart # For php-cli in the command line sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php
# For php in web apps sudo a2dismod php7.0 && sudo a2enmod php5.6 && sudo service apache2 restart # For php-cli in the command line sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php
You can also quickly check which yours is using by running php -v.
Как понизить версию php 7.4 до 5.6 в Vesta на Ubuntu
Мы опишем два способа позволяющих без труда понизить либо повысить версию PHP 7.0 до PHP 7.1, или PHP 7.2 до PHP 7.3, PHP 7.3 до PHP 7.4 на Ubuntu с панелью управления сайтами VestaCP.
Понижение и повышение версии PHP в Ubuntu вариант 1
В этом руководстве мы покажем вам, как обновить PHP 7.0, который по умолчанию установлен Vesta CP во время установки, до последней версии PHP 7.1.xx, 7.2.xx, 7.3.xx или 7.4.xx на сервере Ubuntu.
Мы тестировал все версии php, т.е. 5.6, 7.0, 7.1, 7.2, 7.3, 7.3 прежде чем писать эту инструкцию. Данное решение работает нормально, без каких-либо проблем, поэтому можно безопасно перейти на PHP 7.2 или PHP 7.4 под vestacp в Ubuntu / Debian.
Зачем переходить на php 7.1, 7.2, 7.3 или 7.4?
Это даст вам повышение безопасности и производительности + KICK, поскольку WordPress или поддерживаемые скрипты будут загружаться намного быстрее и потреблять меньше ресурсов.
Пакеты, которые понадобится установить:
Вам нужно установить software-properties-common:
apt-get install software-properties-common
Для Apache mod_php:
Сначала вам нужно добавить Ondrejs PPA:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update
Если вы получите: “‘ascii’ codec can’t decode byte”, выполните следующую команду:
затем запустите эти команды:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update
apt-get install libapache2-mod-php7.1 php7.1 php7.1-bcmath php7.1-bz2 php7.1-cgi php7.1-cli php7.1-common php7.1-curl php7.1-dba php7.1-dev php7.1-enchant php7.1-fpm php7.1-gd php7.1-gmp php7.1-imap php7.1-interbase php7.1-intl php7.1-json php7.1-ldap php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-odbc php7.1-opcache php7.1-pgsql php7.1-phpdbg php7.1-pspell php7.1-readline php7.1-recode php7.1-snmp php7.1-soap php7.1-sqlite3 php7.1-sybase php7.1-tidy php7.1-xml php7.1-xmlrpc php7.1-xsl php7.1-zip
После установки, отключите модуль php 7.0, чтобы активировать модуль php7.1:
a2dismod php7.0 a2enmod php7.1
После включения модуля новой версии php, перезапустите службу apach2 командой:
Для обновления до PHP 7.2, 7.3, 7.4, достаточно изменит цифры версии в командах.
Пример для PHP 7.4:
apt-get install libapache2-mod-php7.4 php7.4 php7.4-bcmath php7.4-bz2 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-dba php7.4-dev php7.4-enchant php7.4-fpm php7.4-gd php7.4-gmp php7.4-imap php7.4-interbase php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-odbc php7.4-opcache php7.4-pgsql php7.4-phpdbg php7.4-pspell php7.4-readline php7.4-recode php7.4-snmp php7.4-soap php7.4-sqlite3 php7.4-sybase php7.4-tidy php7.4-xml php7.4-xmlrpc php7.4-xsl php7.4-zip
Теперь, если вы установили все нужные Вам версии PHP, вы сможете переключать их, как в сторону повышения, так и понижать версию PHP.
Чтобы повысить php7.1 до php 7.4, просто выполните следующие команды:
a2dismod php7.1 a2enmod php7.4 service apache2 restart
Чтобы понизить версию с php7.4 до php 7.0, просто выполните следующие команды:
a2dismod php7.4 a2enmod php7.0 service apache2 restart
Если данный способ, не подходит Вам по каким либо причинам, вы может воспользоваться вариантом переключения PHP который описан ниже.
ПЕРЕКЛЮЧЕНИЕ МЕЖДУ ВЕРСИЯМИ PHP вариант 2
Пример: Ubuntu 18.04 как переключить PHP7.4 на php5.6
Этот метод заключается не в удалении каких-либо из версий php и установке другой версии, а в установке PHP как надстройки и в использовании одной из версий PHP по необходимости.
Данный метод не позволяет выбирать нужную версию PHP в панели управления VestaCP.
Ели Вам нужен способ позволяющий выбирать версию PHP для каждого домена, вам подойдет предыдущая инструкция.
Приступим к установке и настройке:
sudo apt-get install python-software-properties sudo add-apt-repository ppa: ondrej / php sudo apt-get update sudo apt-get install -y php5.6
Вы установили версию PHP 5.6.
Проверим версию PHP командой:
Вывод может отображать вашу старую версия PHP.
Теперь переходим к переключению версий 7.4 -> 5.6
sudo a2dismod php7.4 sudo a2enmod php5.6
Для применения изменений, рестарт веб сервер Apache:
sudo service apache2 restart
sudo update-alternatives --set php /usr/bin/php5.6
Обычно, сначала необходимо установить еще несколько модулей необходимых для правильной работы веб сервера:
sudo apt-get install php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6
Включение необходимых расширений >>> sudo phpenmod mbstring
sudo apt-get update sudo update-alternatives --set php /usr/bin/php5.6 sudo service apache2 restart
Главная цель нашего ресурса, простым языком рассказать о сложных вещах администрирования и настройки программных продуктов под Windows, Linux, Android, IOS и прочего.
How do I install different (upgrade or downgrade) PHP version in still supported Ubuntu release?
if sudo apt-get upgrade Dont upgrade PHP then try sudo apt-get dist-upgrade. For distribution upgrade.
2 Answers 2
You could use a PPA to stay up-to-date with PHP or install previous version of PHP (f.e. PHP 5.6 on Ubuntu 16.04 LTS).
The most widely used repositories come from Ondřej Surý, the Debian PHP maintainer:
- ppa:ondrej/php (for PHP 5.6/7.0/7.1 co-installable versions, PHP 5.5 is no longer supported)
- ppa:ondrej/php5-compat (for dummy php5 to satisfy dependencies in the old packages)
PHP PPAs previously contained Apache 2.4 update. This is no longer a case, you need to add separate Apache 2.4 repository:
If you want use these PPAs, do this:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get upgrade sudo apt-get install php7.1 # for PHP 7.1 sudo apt-get install php7.0 # for PHP 7.0 sudo apt-get install php5.6 # for PHP 5.6
To switch between installed versions use
sudo update-alternatives --config php
Then you must set Apache to work with right version:
sudo a2dismod php7.1 # unload the current version sudo a2enmod php5.6 # load the version you need sudo service apache2 restart # restart webserver to apply
sudo add-apt-repository ppa:ondrej/php sudo add-apt-repository ppa:ondrej/php5-compat sudo apt-get update sudo apt-get upgrade sudo apt-get install php5 # this will pull php5.6 package
If you don’t have add-apt-repository binary do the following:
sudo apt-get install python-software-properties
PHP 5.4
Prepackaged latest PHP 5.4 now resides in separate PPA: ppa:ondrej/php5-oldstable
Please be aware that PHP 5.4 has reached its end of life on 3. September 2015 and it doesn’t receive any security updates. It’s recommended to migrate to at least PHP 5.6 that will receive security updated till 31. December 2018.