Gurevich.intercon.ru

Семейный сайт Гуревичей

FReeBSD: Смена версии PHP

2012-09-11 от San

FReeBSD: Смена версии PHP

Периодически версии 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 ленты. Комментарии и пинг запрещены.

Комментариев нет

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.