Миграция с php 5.3 на php 5.2 в Ubuntu Server 10.04/10.10

логотип phpДобрый вечер всем, сегодня Александр Крайнев, поделился с нами еще одной полезной статьей, помните его предыдущую — Установка и настройка VMWare ESXi v4. Так вот в продолжение тематики виртуализации хостинга Саша прислал мне материал, название которого в оригинале звучит так: «Как произвести миграцию с php 5.3 на php 5.2 в Ubuntu Server 10.04/10.10«, ну не будем отвлекаться, ниже оригинальный текст.

 

 

Как произвести миграцию с php 5.3 на php 5.2 в Ubuntu Server 10.04/10.10

Вопрос миграции с php 5.3 на php 5.2 достаточно часто возникает у наших клиентов, в связи, с чем мы решили дать исчерпывающую пошаговую инструкцию, для самостоятельной работы. Данный процесс не так сложен и не может повлиять глобально на работу VDS.

Итак приступаем к воплощению наших требований к php.

1. Установите репозиторий:

Установим пакет: python-software-properties, командой

[cc lang=’bash’ line_numbers=’false’]apt-get install python-software-properties[/cc]

, незабываем про права.

После установки пакета вводим следующую команду:

[cc lang=’bash’ line_numbers=’false’]add-apt-repository ppa:txwikinger/php5.2[/cc]

Очень часто у пользователей возникает желание самостоятельно добавить данные репозитории, не возражаем. Открываем редактором sources.list:

[cc lang=’bash’ line_numbers=’false’]nano /etc/apt/sources.list[/cc]

Добавляем следующие строки:

[cc lang=’bash’ ]deb http://ppa.launchpad.net/txwikinger/php5.2/ubuntu lucid main
#deb-src http://ppa.launchpad.net/txwikinger/php5.2/ubuntu lucid main[/cc]

Внимание замечание!!!

Если у вас Ubuntu 10.04 то строки будут выглядеть так:

[cc lang=’bash’ ]deb http://ppa.launchpad.net/txwikinger/php5.2/ubuntu lucid main
#deb-src http://ppa.launchpad.net/txwikinger/php5.2/ubuntu lucid main[/cc]

Если у вас Ubuntu Server 10.10 то строка будет такой вид:

[cc lang=’bash’ ]deb http://ppa.launchpad.net/txwikinger/php5.2/ubuntu maverick main
#deb-src http://ppa.launchpad.net/txwikinger/php5.2/ubuntu maverick main[/cc]

Для завершения работы с репозиторием, нам необходимо добавить PGP-ключ, выполняем следующую команду:

[cc lang=’bash’ line_numbers=’false’]apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 9CC59506[/cc]

2. Теперь нам необходимо зафиксировать версию требуемого нам PHP.

Для того чтоб зафиксировать версию PHP, достаточно сделать файл в каталоге /etc/apt/preferences.d/ с именем php, и добавить в него следующие строки:

[cc lang=’php’ ]

Package: libapache2-mod-php5
Pin: version 5.2.10*
Pin-Priority: 991

Package: libapache2-mod-php5filter
Pin: version 5.2.10*
Pin-Priority: 991

Package: php-pear
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-cgi
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-cli
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-common
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-curl
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-dbg
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-dev
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-gd
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-gmp
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-ldap
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-mhash
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-mysql
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-odbc
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-pgsql
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-pspell
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-recode
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-snmp
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-sqlite
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-sybase
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-tidy
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-xmlrpc
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-xsl
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-mcrypt
Pin: version 5.2.6*
Pin-Priority: 991

Package: php5-imap
Pin: version 5.2.6*
Pin-Priority: 991

[/cc]

По окончании добавления, сохраняем данные и переходим к третьему шагу.

3. Обновление PHP до требуемой версии.

Выполняем обновление кэша командой:

[cc lang=’bash’ line_numbers=’false’]apt-get update[/cc]

Выполняем обновление дистрибутива:

[cc lang=’bash’ line_numbers=’false’]apt-get dist-upgrade[/cc]

Проверим состояние php командой:

[cc lang=’bash’ line_numbers=’false’]dpkg -l | grep php[/cc]

В случае, если вы видите версию 5.3 (такое иногда бывает), сделайте переустановку php полностью, при помощи команд:

[cc lang=’bash’ ]apt-get remove php5
apt-get install php5[/cc]

И снова проверьте состояние php командой:

[cc lang=’bash’ line_numbers=’false’]dpkg -l | grep php[/cc]

На этом миграция завершена, приятной работы. Не забудьте восстановить требуемые настройки (параметры) заданные для PHP ранее.

Вот так, Спасибо Саше за статью! Обещанный копирайт конечно http://itservices.su — Аренда любых ВДС на хостинге в Германии. Защита от DDOS аттак недорого и эффективно. Техподдержка 24х7.

  1. После всего это шаманства при вводе php -v:

    root@sysrtfm:/usr/lib/php5# php -v
    PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/adodb.so' - /usr/lib/php5/20060613/adodb.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/mcrypt.so' - /usr/lib/php5/20060613/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP 5.2.10-2ubuntu6.5 with Suhosin-Patch 0.9.7 (cli) (built: May 21 2010 06:30:21)
    Copyright (c) 1997-2009 The PHP Group
    Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    root@sysrtfm:/usr/lib/php5#

  2. DanielWouct

    Всем приыет!

  3. Georgeaxork

    variant4

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>