This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Linux - Что и как

Не работает? Начинай читать инструкцию.

Как обновить php-5.1 до php-5.3 в CentOS-5.11

Обновление php-5.1 до php-5.3 в CentOS-5 неизбежно, так как всё развивается, и в один прекрасный момент обновление php станет необходимым.

Предлагаю ознакомиться с предложениями моих партнёров

Я думаю у каждого админа есть дополнительные репозитории, если нет, то добавим полезные репозитории: rpmforge и epel

wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.3-1.el5.rf.i386.rpm

Далее глянем, какие пакеты php установлены в системе

rpm -qa | grep php

На выходе получил вот такой список

php-cli-5.1.6-45.el5_11
php-odbc-5.1.6-45.el5_11
php-mysql-5.1.6-45.el5_11
php-dba-5.1.6-45.el5_11
php-snmp-5.1.6-45.el5_11
php-php-gettext-1.0.11-3.el5
php-common-5.1.6-45.el5_11
php-mbstring-5.1.6-45.el5_11
php-mcrypt-5.1.6-15.el5.centos.1
php-imap-5.1.6-45.el5_11
php-pgsql-5.1.6-45.el5_11
php-gd-5.1.6-45.el5_11
php-soap-5.1.6-45.el5_11
php-bcmath-5.1.6-45.el5_11
php-ldap-5.1.6-45.el5_11
php-pear-1.4.9-8.el5
php-pear-db-1.7.13-2.el5.rf
php-pdo-5.1.6-45.el5_11
php-5.1.6-45.el5_11
php-xml-5.1.6-45.el5_11
php-xmlrpc-5.1.6-45.el5_11
php-ncurses-5.1.6-45.el5_11
php-devel-5.1.6-45.el5_11

Из этого всего, решил оставить php-pear-1.4.9-8.el5 и php-pear-db-1.7.13-2.el5.rf , а всё остальное обновить до php-5.3.

Простым удалением это сделать не получиться, так как возможны зависимости, у меня это было sams2-2.0.0-83.2, phpmyadmin, squirrelmail и ещё парочка. В данном случае, важно не забыть что у вас работает на php-5.1 и как оно будет совместимо с php-5.3.

Я вот забыл, что у меня к всему прочему установлено VirtualBox-4.1-4.1.26_84997_el5-1.i386 + phpvirtualbox-4.1-11, но как потом оказалось, на php-5.3 всё работало, а вот у sams2-2.0.0-83.2 и php5.3 есть какие то не совместимости, и к сожалению не помню какие (возможно я путаю с sams-1.0.4-0.5), но так как я его уже не использую, решил что можно обновиться.

Удаляем php-5.1 не учитывая зависимости ( --nodeps)

rpm -e php-pdo php-gd php-ldap php-odbc php-bcmath php-devel php-mcrypt php php-xmlrpc php-soap php-snmp php-common php-mysql php-dba php-mbstring php-imap php-pgsql php-cli php-xml php-ncurses php-php-gettext --nodeps

Посмотрим что есть в репах для установки php53

yum list available | grep php53

Получаем длинный список

php53.i386                                  5.3.3-26.el5_11             updates
php53-bcmath.i386                           5.3.3-26.el5_11             updates
php53-cli.i386                              5.3.3-26.el5_11             updates
php53-common.i386                           5.3.3-26.el5_11             updates
php53-dba.i386                              5.3.3-26.el5_11             updates
php53-devel.i386                            5.3.3-26.el5_11             updates
php53-enchant.i386                          5.3.3-1.el5                 epel
php53-gd.i386                               5.3.3-26.el5_11             updates
php53-imap.i386                             5.3.3-26.el5_11             updates
php53-interbase.i386                        5.3.3-1.el5                 epel
php53-intl.i386                             5.3.3-26.el5_11             updates
php53-ldap.i386                             5.3.3-26.el5_11             updates
php53-mapi.i386                             7.1.12-2.el5                epel
php53-mbstring.i386                         5.3.3-26.el5_11             updates
php53-mcrypt.i386                           5.3.3-1.el5                 epel
php53-mssql.i386                            5.3.3-1.el5                 epel
php53-mysql.i386                            5.3.3-26.el5_11             updates
php53-odbc.i386                             5.3.3-26.el5_11             updates
php53-odbc64.i386                           5.3.3-2.el5                 base
php53-pdo.i386                              5.3.3-26.el5_11             updates
php53-pgsql.i386                            5.3.3-26.el5_11             updates
php53-php-gettext.noarch                    1.0.11-3.el5                epel
php53-process.i386                          5.3.3-26.el5_11             updates
php53-pspell.i386                           5.3.3-26.el5_11             updates
php53-recode.i386                           5.3.3-1.el5                 epel
php53-simplepie.noarch                      1.3.1-5.el5                 epel
php53-snmp.i386                             5.3.3-26.el5_11             updates
php53-soap.i386                             5.3.3-26.el5_11             updates
php53-tcpdf.noarch                          6.2.4-1.el5                 epel
php53-tcpdf-dejavu-lgc-sans-fonts.noarch    6.2.4-1.el5                 epel
php53-tcpdf-dejavu-lgc-sans-mono-fonts.noarch
php53-tcpdf-dejavu-lgc-serif-fonts.noarch   6.2.4-1.el5                 epel
php53-tcpdf-dejavu-sans-fonts.noarch        6.2.4-1.el5                 epel
php53-tcpdf-dejavu-sans-mono-fonts.noarch   6.2.4-1.el5                 epel
php53-tcpdf-dejavu-serif-fonts.noarch       6.2.4-1.el5                 epel
php53-tcpdf-gnu-free-mono-fonts.noarch      6.2.4-1.el5                 epel
php53-tcpdf-gnu-free-sans-fonts.noarch      6.2.4-1.el5                 epel
php53-tcpdf-gnu-free-serif-fonts.noarch     6.2.4-1.el5                 epel
php53-tidy.i386                             5.3.3-1.el5                 epel
php53-xml.i386                              5.3.3-26.el5_11             updates
php53-xmlrpc.i386                           5.3.3-26.el5_11             updates

Теперь устанавливаем php53, то, что нам не хватает для полного счастья :), в моём случае, всё то же самое что и удалил, кроме php-ncurses, так этого пакета для php-5.3 я не нашёл. Добавил php53-process, кажется он нужен для Freepbx-Asterisk

yum install php53 php53-bcmath php53-cli php53-common php53-dba php53-devel php53-gd php53-imap php53-ldap php53-mbstring php53-mysql php53-odbc php53-pdo php53-pgsql php53-snmp php53-soap php53-xml php53-xmlrpc php53-mcrypt php53-php-gettext php53-process

Перегружаем web сервер

service httpd restart

Типичная ошибка, забыли что /etc/php.ini был отредактирован под свои нужды, и конечно у меня не запустилась несколько скриптов на сайте. Но после удаления php-5.1 сохранилась резервная копия /etc/php.ini.rpmsave

Долго не думая я просто скопировал содержимое php.ini.rpmsave в php.ini  и перегрузил веб сервер, после этого все скрипты запустились как надо. Может зря всё скопировал, надо было посмотреть чем они отличаются, но то что сделано, уже не отменить.

Но в моём случае было необходимо раскомментировать или внести изменения:

Обязательно
date.timezone = Europe/Kiev

Для выполнения некоторых скриптов, в моём случае обязательно
short_open_tag = On

Необязательные мои изменения
upload_max_filesize = 16M
memory_limit = 256M
post_max_size = 32M

Предлагаю ознакомиться с предложениями моих партнёров