Смена версии php в Ubuntu

372
12 августа 2017, 04:26

Привет
Нужно поменять версию php с 7 на 5.6 на Ubuntu.
В Ubuntu только 2 день, поэтому сильно не разбираюсь

Answer 1

Можно всё, но лучше не надо. Следуй за тем, что есть в штатных репах дистрибутива или в официальных репах разработчика конкретного продукта. Потому что когда всё-таки припрёт обновляться (а это происходит всегда) - будет очень весело разгребать авгиевы конюшни из непонятных зависимостей и помойки в /opt. А перенос проекта на сервер\другую машину\другому разработчику будет просто сказочной (чем дальше - тем страшнее) задачей. Если сильно хочется поковыряться с чем-то старым - наверное Docker в помощь.

UPD: Если сильно позарез нужна именно 5-я ветка php, то как вариант - можно развернуть проект на ubuntu 14.04. Он будет поддерживаться до апреля 2019 и за это время уже можно будет замигрировать на php7.

Answer 2

Рекомендую использовать для таких целей специальные PPA, например эту:

sudo add-apt-repository ppa:ondrej/php

И после добавления поставить php 5.6 таким образом:

sudo apt update
sudo apt install php5.6

И нужно будет не забывать, что все пакеты для php, например php-mysql, php-xml нужно будет ставить таким образом:

sudo apt install php5.6-mysql 
sudo apt install php5.6-xml

P.S. все предыдущие версии php надо удалить

Answer 3
sudo a2dismod php7.0 ; sudo a2enmod php5.6
Answer 4

Для смены версии по умолчанию в Ubuntu используйте следующую команду.

sudo update-alternatives --config php
Answer 5

Сначала удалим все PHP библиотеки

sudo apt-get purge php *

Затем добавляем PPA с которого будем качать PHP т.к. в стандартном apt-get есть только последняя седьмая версия по умолчанию В Ubuntu 16.04. apt это пакетный менеджер в Ubuntu, из него мы устанавливаем программы, пакеты, библиотеки и т.д. Следующей командой мы добавляем в него адрес PPA откуда он выкачает нам нужный PHP-5.6.

sudo add-apt-repository ppa:ondrej/php

Если выдаст ошибку add-apt-repository: command not found

То нужно выполнить следующую команду

sudo apt-get install software-properties-common

Далее выполняем две команды последовательно

sudo apt-get update

Установка PHP 5.6

sudo apt-get install php5.6

На этом этапе PHP уже установлен, но чтобы установить дополнительные библиотеки можно ввести:

Дополнительно

sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml

Чтобы найти точные названия библиотек в apt-get для фреймворка или при необходимости, пример:

apt-cache php

пример ответа:

...
php-zend-code - Zend Framework - Code component
php-zend-db - Zend Framework - Db component
php-zend-eventmanager - Zend Framework - EventManager component
php-zend-hydrator - Zend Framework - Hydrator component
php-zend-search - Zend Framework - ZendSearch component
php-zend-stdlib - Zend Framework - Stdlib component
php-zend-xml - Zend Framework - Xml component
...

Проверка версии PHP

sudo php -v
READ ALSO
Система аватарок [требует правки]

Система аватарок [требует правки]

Помогите сделать систему аватарок, с помощью переменных php

257
Как удалить старую версию PHP Ubuntu

Как удалить старую версию PHP Ubuntu

Как удалить старую версию PHP (точнее полностью php) в Ubuntu?

344
php IF условие не хочет работать

php IF условие не хочет работать

Не могу понять в чем проблема

215
Выдает ошибку could not open input file

Выдает ошибку could not open input file

Пытаюсь запустить php-шное приложение через консоль, но постоянно выдает ошибку

198