RuWeb.net Forum

Как обновить PHP на VDS или выделенном сервере
timru - 3.2.2013 в 10:55

Ситуация по состоянию на осень 2015 года.

FreeBSD больше года назад (01.09.2014) перешла на новую систему управления пакетами pkgng. Чтобы обновить PHP, нужно переходить на pkgng, а это невозможно по следующим причинам:
- ISPmanager больше не поддерживает FreeBSD и pkgng;
- pkgng требует обновление самой системы FreeBSD, а это невозможно для VDS на базе системы виртуализации VDSmanager, т.к. ядро на сервере общее.

Попытки самостоятельного перехода на pkgng нашими клиентами часто заканчивались весьма плачевно, вплоть до необходимости переустанавливать все ПО на VDS, или переносить данные на другой сервер. Поэтому мы рекомендуем обновлять PHP, используя старое дерево портов. К сожалению, самые актуальные версии вы таким образом не получите.

Вот какие максимальные версии PHP можно получить без перехода на pkgng.

Для FreeBSD-6: PHP 5.3.10
Для FreeBSD-8: PHP 5.3.28, PHP 5.4.25, PHP 5.5.9
Для FreeBSD-9: PHP 5.3.29, PHP 5.4.31, PHP 5.5.15

Как воспользоваться старым деревом портов, описано тут:
http://forum.ruweb.net/viewthread.php?tid=2932


Может ли техподдержка обновить PHP на моем VDS/выделенном сервере?

Обновление PHP для VDS платное, требуется 1 час работы специалиста.
Обновление PHP для выделенных серверов, как правило, бесплатное. Но в сложных/нестандартных/нерациональных случаях может взиматься плата.


Что нужно знать перед обновлением PHP?

Ветка 4.4.9 - давно устаревшая и не поддерживается. Удалена из портов FreeBSD.
Ветка 5.2.x - считается устаревшей и больше не поддерживается.
Ветка 5.3.x и выше - актуальные.

Разные версии PHP не являются полностью совместимыми между собой. Это значит что при обновлении PHP вам возможно придется править код на сайтах, или обновлять движки. Такую работу сотрудники нашей техподдержки не выполняют, даже если обновление PHP было платным.

Также, начиная с версии PHP 5.3, прекращена поддержка ZendOptimizer. Это значит что все скрипты, закодированные ZendOptimizer для версий PHP 4.4.x/5.2.x, перестанут работать. Решить данную проблему будет невозможно. (Кроме как если у вас есть оригинальные версии этих скриптов, не закодированные с помощью ZendOptimizer.)


Как обновить PHP самостоятельно?

Удалить старую версию PHP вместе со всеми расширениями и зависимыми пакетами (такими как phpMyAdmin, SquirrelMail и т.д.), и установить новую версию PHP вместе с теми же расширениями и пакетами.

Это можно сделать:
а) вручную https://www.freebsd.org/doc/ru/books/handbook/ports.html (рекомендуется только если вы хорошо знаете FreeBSD; будьте готовы к решению непредвиденных проблем);
б) через раздел "Возможности" в ISPmanager (не рекомендуется, т.к. неудобно отслеживать возникающие проблемы; в случае неудачи придется искать причину в ispmgr.log и, скорее всего, продолжать вручную);

Т.е. в любом случае нужен опыт работы с FreeBSD и ее системой портов/пакетов. Если вы не уверены - обратитесь за платной помощью. Учтите что наша помощь в обновлении уже сломанного вами PHP, скорее всего, обойдется вам дороже.

Старая тема по обновлению PHP для VDS на базе FreeBSD-6:
http://forum.ruweb.net/viewthread.php?tid=2249


Можно ли на один VDS (сервер) установить 2 версии PHP?

Посмотрите эту тему:
http://forum.ruweb.net/viewthread.php?tid=2874



[Отредактировано 13.10.2015 кто timru]