LINUX.ORG.RU

Даунгрейд php до 5.2.х


1

1

Доброго времени суток. У меня ubuntu 12.10 и php 5.4.6, возникла необходимость понизить версию до 5.2.х, как это безболезненно сделать? И еще нужно сделать, чтобы php не обновлялся при обновлении системы. Нагуглил мануалов, но они все под 10.04 - эксперементировать не особо хочется. С уважением.

вынести старый, собрать 5.2 из исходников, поставить и переименовать?

Что мешает поставить 5.2 паралельно ( собрав из исходников с нестандартными путями) ?

vel ★★★★★ ()
Ответ на: комментарий от emissar

Знаний не хватает:)

Найми того, у кого хватает.

anonymous ()
Ответ на: комментарий от vel

Пробую сейчас по этому мануалу - http://zgadzaj.com/how-to-install-php-53-and-52-together-on-ubuntu-1204

вываливается ошибка

configure: error: Cannot find OpenSSL's libraries

Описанный там способ решения (добавить --with-libdir=/lib/x86_64-linux-gnu) - не помогает. Такой папки у меня нет вообще.

emissar ★★ ()
Ответ на: комментарий от emissar

Решил проблему эту. Директория у меня называется /lib/i386-linux-gnu

emissar ★★ ()

А потом ещё столько увлекательных приключений со сборкой модулей подходящих версий.

spyro ()
Ответ на: комментарий от emissar

Геморрой, писец. Была ошибка

configure: error: DBA: Could not find necessary header file(s).
checking for db4 major version... configure: error: Header contains different version

Поставил libdb-dev, осталась вторая часть ошибки только:

checking for db4 major version... configure: error: Header contains different version

Писец, в общем. Вот почему нельзя было сделать обратную совместимость в php? Долбись теперь сиди.

emissar ★★ ()
Ответ на: комментарий от emissar

Немного перепутал - нужно было до 5.3.х даунгрейд сделать. Потерял полдня, пересмотрел кучу манов - все бестолку. Методом проб и ошибок пришел к работоспособному решению (+1 к красноглазию).

Если кому надо - ставил из репов 12.04 таким образом:

sudo apt-get install libapache2-mod-php5=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 php5=5.3.10-1ubuntu3.4 php5-dev=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php-pear=5.3.10-1ubuntu3.4

Если пишет, что версия не найдена - создаем файл precise.list со списком репов убунты 12.04, в /etc/apt/sources.list.d/ , потом apt-get update и повторяем команду, которая написана выше. В репах почему-то нету php5-mcrypt более старой версии, поэтому он удалится и потащит за собой phpmyadmin, которому он необходим.

После этого всего ставим php5-mcrypt подходящей версии:

cd ~ && wget http://goo.gl/CVbhh && sudo dpkg -i php5-mcrypt_5.3.10-3ubuntu1ppa1~lucid_i386.deb
sudo apt-get install phpmyadmin

Последний пункт - если нужен.

Идем в синаптик, в поиск пишем php, сортируем по установленной версии, выделяем те пакеты, которые мы ставили самой первой командой, жмем в меню «пакет» -> «заблокировать версию». Теперь при обновлении пхп не будет затронут.

Может это можно как-то автоматизировать, но я не заморачивался. Все.

emissar ★★ ()

Вообще надо пинать разработчика скриптов, в идеале, а не городить ажурную конструкцию из костылей.

X10Dead ★★★★★ ()
Ответ на: комментарий от X10Dead

В идеале было бы присутствие хоть какой-то обратной совместимости версий пхп в виде возможности смены общей дефолтной кодировки.

emissar ★★ ()
Ответ на: комментарий от emissar

Эм, это похапэ, какая совместимость? Если совсем набыдлокодить, можно поломаться в рамках одной ветки.

X10Dead ★★★★★ ()
Ответ на: комментарий от emissar

В идеале было бы присутствие хоть какой-то обратной совместимости версий пхп в виде возможности смены общей дефолтной кодировки.

default_charset = «UTF-8»

?

KRoN73 ★★★★★ ()
Ответ на: комментарий от X10Dead

Эм, это похапэ, какая совместимость?

Ну, не знаю. У меня уже 5.4 на моих серверах, но работает код, который я ещё 10 лет назад писал :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

В первую очередь было испробовано. Для функций типа htmlspecialchars не катит.

emissar ★★ ()
Ответ на: комментарий от emissar

Спасибо, добрый человек, за эту строку :) Можно в синаптике конечно версии выбирать, но так значительно быстрее Приходится поддерживать сайт, который еще на глобальных переменных работает, а из РНР 5.4 эту возможность выпилили.

Tarzanych ()
Ответ на: комментарий от Tarzanych

Кстати, блокировать версии таким способом нужно, потому как после блокировки в синаптике, пхп все равно хотел обновиться у меня.

emissar ★★ ()

прибить пакет гвоздями:

echo "package-name hold" | dpkg --set-selections
beastie ★★★★★ ()

Мужики, спасибо :)

anonymous ()
Ответ на: комментарий от KRoN73

Да вы что? А как к 5,4 прикрутить Zend_optimizer?

Вот как? Я долбусь 2 дня уже ни ПХП не могу поставить из за отсутствия каких-то библиотек ни комерческая CMS не работает. Проблемы разработчиков ибо сами с собой могли бы согласовать чтобы версии модулей выходили параллельно с версией PHP.

anonymous ()

Можно полюбопытствовать ? А 5.4.6 откуда ставили ?

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.