Система:
# cat /etc/redhat-release CentOS release 6.7 (Final)
Проверяем текущую версию PHP:
# php -v PHP 5.3.3 (cli) (built: Oct 30 2014 20:12:53) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Для обновления — потребуются репозитории Remi и Epel.
Проверяем:
# yum repolist enabled | grep -E 'epel|remi' ... epel Extra Packages for Enterprise Linux 6 - x86_64 11,636+128 remi Les RPM de remi pour Enterprise Linux 6 - x86_64 1,477+1,305 remi-safe Safe Remi's RPM repository for Enterprise Linux 6 - x86_64 0+13
Устанавливаем их, если ещё не установлены:
# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm && rpm -Uvh epel-release-latest-6.noarch.rpm # wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm && rpm -Uvh remi-release-6*.rpm
В файле /etc/yum.repos.d/remi.repo
подключаем remi-php55
:
... [remi-php55] ... enabled=1 ...
Пробуем обновить все связанные с PHP пакеты:
# yum upgrade php*
В случае ошибки вида:
... --> Finished Dependency Resolution Error: Package: php-mysqlnd-5.5.30-1.el6.remi.x86_64 (remi-php55) Requires: php-pdo(x86-64) = 5.5.30-1.el6.remi Installed: php-pdo-5.3.3-40.el6_6.x86_64 (@base) php-pdo(x86-64) = 5.3.3-40.el6_6 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest ...
На время обновления — отключите репозитории base
и updates
(у меня используется плагин yum-plugin-priorities
, в котором приоритет установлен первым для base
и updates
; интеерсно, как yum
себя поведёт во время автоматического обновления с помощбю yum-cron
):
# yum upgrade php* --disablerepo="base, updates" ... Dependencies Resolved ============================================================================================================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================================================================================================= Installing: php-mysqlnd x86_64 5.5.30-1.el6.remi remi-php55 266 k replacing php-mysql.x86_64 5.3.3-40.el6_6 Updating: php x86_64 5.5.30-1.el6.remi remi-php55 2.7 M php-cli x86_64 5.5.30-1.el6.remi remi-php55 3.9 M php-common x86_64 5.5.30-1.el6.remi remi-php55 1.0 M php-pdo x86_64 5.5.30-1.el6.remi remi-php55 113 k php-xml x86_64 5.5.30-1.el6.remi remi-php55 210 k Installing for dependencies: libzip-last x86_64 1.0.1-1.el6.remi remi 40 k php-pecl-jsonc x86_64 1.3.9-1.el6.remi.5.5 remi-php55 50 k php-pecl-zip x86_64 1.13.1-1.el6.remi.5.5 remi-php55 52 k Transaction Summary ============================================================================================================================================================================================================================================= Install 4 Package(s) Upgrade 5 Package(s) ... Installed: php-mysqlnd.x86_64 0:5.5.30-1.el6.remi Dependency Installed: libzip-last.x86_64 0:1.0.1-1.el6.remi php-pecl-jsonc.x86_64 0:1.3.9-1.el6.remi.5.5 php-pecl-zip.x86_64 0:1.13.1-1.el6.remi.5.5 Updated: php.x86_64 0:5.5.30-1.el6.remi php-cli.x86_64 0:5.5.30-1.el6.remi php-common.x86_64 0:5.5.30-1.el6.remi php-pdo.x86_64 0:5.5.30-1.el6.remi php-xml.x86_64 0:5.5.30-1.el6.remi Replaced: php-mysql.x86_64 0:5.3.3-40.el6_6 Complete!
Проверяем:
# php -v PHP 5.5.30 (cli) (built: Oct 1 2015 09:29:18) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
Перезапускаем веб-сервер, в данном случае Apache HTTP (откуда он у меня?!?):
# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
И снова проверяем:
# echo "<?php echo phpinfo(); ?>" > /var/www/html/index.php
Удаляем файл:
# rm /var/www/html/index.php
Готово.