Обновление PHP 5.3 на CentOS 5 (6) до PHP 5.5, станет неизбежным, так как в один прекрасный момент, вам понадобиться установит новую CMS или скрипт. Так и у меня. Надо поставить osTicket. Он не поддерживает версии php5.3
В одной из своих статей, я писал Как обновить php-5.1 до php-5.3 в CentOS-5.11 И вот пришло время обновить php-53 до php-55.
Проверим какие php пакеты установлены в системе и посмотрим результат
rpm -qa | grep php
Результат будет примерно такой:
php53-5.3.3-13.el5_8
php53-common-5.3.3-13.el5_8
php53-cli-5.3.3-13.el5_8
php53-mbstring-5.3.3-13.el5_8
php53-mcrypt-5.3.3-1.el5
php53-pdo-5.3.3-13.el5_8
php53-ldap-5.3.3-13.el5_8
php53-mysql-5.3.3-13.el5_8
php53-gd-5.3.3-13.el5_8
php53-imap-5.3.3-13.el5_8
php53-php-gettext-1.0.11-3.el5.noarch
php-pear-db-1.7.13-2.el5.rf
php-pear-1.4.9-8.el5
Возможно были и другие пакеты, но так сложилось, что я не помню какие пакеты php53 стояли. Для обновления лучше поставить все пакеты, что у вас есть сейчас, но новой версии php55. Остался главный вопрос, откуда обновить PHP-5.3 на CentOS 5 (6) до PHP-5.5 ?
Добавьте репозиторий если у вас CentOS 5.x
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
Репозиторий для CentOS 6.x:
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
В /etc/yum.repos.d/webtatic-archive.repo
- разрешите для обновления (enabled=1
)
Теперь можно посмотреть какие пакеты php55w доступны
yum list available | grep php
или для определённой версии
yum list available | grep php55
Если там есть всё что вам надо, удалите старую версию php не учитывая зависимости ( --nodeps)
rpm -e php53-pdo php53-php-gettext php53-gd php53-process php53-mcrypt php53 php53-devel php53-odbc php53-dba php53-ldap php53-common php53-mbstring php53-xml php53-mysql php53-imap php53-xmlrpc php53-soap php53-pgsql php53-cli php53-bcmath php53-snmp php-pear --nodeps
Примечание: пакет php-pear-db-1.7.13-2.el5.rf
я оставил, так как его не было в php55w
После этого можно установить новые. Так как мне нужно было поставить osTicket, я доставил пакеты php55w, которых раньше не было.
yum install php55w-cli php55w-pdo php55w-ldap php55w-xml php55w-bcmath php55w-common php55w-process php55w-gd php55w-dba php55w-intl php55w-mysql php55w-pear php-php-gettext php55w-mbstring php55w-imap php55w-mcrypt php55w-opcache php55w-odbc php55w-pecl-apcu php55w-snmp php55w-pgsql php55w-5.5.38 php55w-soap php55w-xmlrpc php55w-devel
Возможно нужно будет доставить зависимости, которых нету в репах (pcre-devel-6.6-9.el5.i386.rpm или что то ещё), то найдите пакет на установочном диске с CentOS, и установите, потом повторите попытку.
Так как в php55w не было пакета php-gettext
доставил этот:
yum install php-php-gettext-1.0.12-1.el5
Отредактируйте /etc/php.ini
Обязательноdate.timezone = Europe/Kiev
Для выполнения некоторых скриптов, в моём случае обязательноshort_open_tag = On
Необязательные мои измененияupload_max_filesize = 16M
memory_limit = 256M
post_max_size = 32M
Теперь можно перезапустить web сервер
service httpd restart
Теперь можно посмотреть, какая версия установлена
[root@localhost~]# php -v
PHP 5.5.38 (cli) (built: Jul 21 2016 14:04:52)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
[root@localhost~]#
Проверим какие пакеты php55w
стоят в системе:
[root@localhost~]# rpm -qa | grep php
php55w-cli-5.5.38-1.w5
php55w-pdo-5.5.38-1.w5
php55w-ldap-5.5.38-1.w5
phpmyadmin-2.11.11.3-2.el5.rf
php55w-xml-5.5.38-1.w5
php55w-bcmath-5.5.38-1.w5
php-pear-db-1.7.13-2.el5.rf
php55w-common-5.5.38-1.w5
php55w-process-5.5.38-1.w5
php55w-gd-5.5.38-1.w5
php55w-dba-5.5.38-1.w5
php55w-intl-5.5.38-1.w5
php55w-mysql-5.5.38-1.w5
php55w-pear-1.10.1-1.w5
php-php-gettext-1.0.12-1.el5
php55w-mbstring-5.5.38-1.w5
php55w-imap-5.5.38-1.w5
php55w-mcrypt-5.5.38-1.w5
php55w-opcache-5.5.38-1.w5
php55w-odbc-5.5.38-1.w5
php55w-pecl-apcu-4.0.11-1.w5
php55w-snmp-5.5.38-1.w5
php55w-pgsql-5.5.38-1.w5
php55w-5.5.38-1.w5
php55w-soap-5.5.38-1.w5
php55w-xmlrpc-5.5.38-1.w5
php55w-devel-5.5.38-1.w5
[root@localhost~]#
После обновления PHP 5.3 до PHP 5.5 рекомендую проверить работоспособность всех скриптов. Хотя это лучше предвидеть заранее. После обновления у меня перестал работать веб-клиент squirrelmail. Но оно и к лучшему. Поставил и настроил веб-клиент roundcubemail