Статья давно не обновлялась, поэтому информация могла устареть.
В статье приведены актуальные способы смены версий PHP вручную на разных ОС.
Внимание! Если на сервере установлена панель ISPmanager 5, то меняйте версию PHP только с помощью модуля панели "Возможности" - "Альтернативные версии PHP".
Если Вы установите или настроите ПО вручную, нет гарантий, что панель сможет работать корректно в дальнейшем с данным ПО.
Содержание |
CentOS 6
Подключаем сторонние репозитории
# wget -O /etc/yum.repos.d/centosup.repo http://centosup.ispsystem.info/centosup.repo # yum makecache
Содержимое файла /etc/yum.repos.d/centosup.repo должен быть такой:
[centosup] name=CentOSUP Repository gpgcheck=0 enabled=1 baseurl=http://centosup.ispsystem.info/repo/$basearch/
Также должен быть подключен репозиторий EPEL, если нет, то подключаем. rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Обновляем PHP 5.3 до последней версии
# yum update php-\*
обновляем PHP до 5.4
# yum install yum-plugin-replace # yum replace php-common --replace-with=php54-common
обновляем PHP до 5.5
# yum install yum-plugin-replace # yum replace php-common --replace-with=php55-common
обновляем PHP до 5.6
# yum install yum-plugin-replace # yum replace php-common --replace-with=php56-common
Делаем даунгрейд до 5.2.17
# yum install yum-plugin-replace # yum replace php-common --replace-with=php52-common
Debian
PHP 5.4.x >> PHP 5.3.x
В файл /etc/apt/sources.list добавляем строки
deb http://ftp.debian.org/debian/ squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free
для подключения старого репозитория.
Создаем файл /etc/apt/preferences.d/php53 со следующим содержимым:
Package: php5* Pin: release a=oldoldstable Pin-Priority: 700 Package: libapache2-mod-php5 Pin: release a=oldoldstable Pin-Priority: 700 Package: php-pear Pin: release a=oldoldstable Pin-Priority: 700 Package: php-apc Pin: release a=oldoldstable Pin-Priority: 700 Package: * Pin: release a=oldstable Pin-Priority: 600
Устанавливать нужно вручную из консоли: Запускаем обновление списка пакетов apt-get update и переустановку с заменой установленного php54 на требуемый php53 с теми же расширениями:
apt-get install --reinstall `dpkg -l|grep php|grep 5.4|awk '{print $2}'`
Ubuntu 12.04
PHP 5.3.x >> PHP 5.5.x
Для начала установим python-software-properties
Это программное обеспечение предоставляет средства для управления используемыми APT-репозиториями. Оно управляет как дистрибутивом, так и независимыми репозиториями программ.
apt-get install make python-software-properties
Добавляем репозиторий
add-apt-repository ppa:ondrej/php5
Если выдаёт ошибку
pycurl.error: (6, "Couldn't resolve host 'launchpad.net'")
Добавляем гугловский резолвер в свой /etc/resolv.conf:
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
И повторяем добавление репозитория.
Обновляем дистрибутив
apt-get update
Устанавливаем PHP последней версии(5.5.x)
apt-get install php5 libapache2-mod-php5
Проверяем версию:
php -v PHP 5.5.7-1+sury.org~precise+1 (cli) (built: Dec 12 2013 21:37:40) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Далее нужно будет установить необходимые расширения для PHP 5.5
apt-get install php5-расширение
Расширения, установленные вручную, нужно будет удалить и установить снова. Например, через pecl:
pecl uninstall расширение pecl install расширение
so для PHP 5.5.x лежат в директории /usr/lib/php5/20121212/ - возможно понадобится изменить пути для расширений (например, для zend_extension)