FReeBSD: Смена версии PHP
2012-09-11 от San

Периодически версии PHP в ветке портов /usr/ports/lang/php5 сменяются. В результате если обновить из портов php5, то установленная версия изменится и неизвестно к каким результатам это приведет (скорее всего к неприятным). В новых версиях часть функций может быть удалена, часть будет работать иначе, чем раньше и как следствие неработающие сайты.
Чтоб избежать подобного можно зафиксировать версию PHP (например 5.3), благо достаточно скоро в портах появляются соответствующие предыдущим версиям ветки (напр. /usr/ports/lang/php53)Опишу действия которые нужно выполнить для того, чтоб заменить php5 в системе на php53
Сохраняем список расширений php:
# cd /usr/local/etc/php # cp extensions.ini extensions.ini.bak
В каталоге /var/db/ports переименовываем все папки php5* в php53* — это сохранит настройки портов для переустановки
Идем в /var/db/pkg и сохраняем список всех установленных php5 пакетов. Они понадобятся для проверки после переустановки.
# ls | grep php > php5.packages
Удаляем все пакеты php5.
# pkg_delete -f php5-*
Собираем и устанавливаем php53 и php53-extensions
# cd /usr/ports/lang/php53 && make install clean # cd ../php53-extensions && make install clean
После этого проверяем не потерялись ли какие пакеты.
# cd /var/db/pkg && ls | grep php53 > php53.packages # diff php5.packages php53.packages
Доустанавливаем чего недостает и копируем extensions.ini.bak обратно в extensions.ini
# cd /usr/local/etc/php && cp extensions.ini.bak extensions.ini
Перезапускаем apache и проверяем с помощью tail error.log. Может там всплывут еще какие-то ошибки, но у меня после вышеуказанных действий все завелось нормально.
Опубликовано Вторник, 11-09-2012 в 15:57 в рубрики Компьютеры и сети. Вы можете оставить отслеживать комментарии к записи при помощи RSS 2.0 ленты. Комментарии и пинг запрещены.