
Задался вопросом - при разработке web-приложений под какую версию php
их “затачивать”? Ответ оказался проще некуда - достаточно посмотреть на календарь релизов и понять, что на данный момент поддерживаемой является версия 5.6.19
:
И ну никак не та (5.4.16
), что встала из репозитория epel “по умолчанию”. Для того чтоб исправить сложившуюся ситуацию выполним совсем не сложные действия, описанные ниже.
Первым делом заходим под рутом:
$ sudo su
После смотрим какие php пакеты у нас стоят:
$ yum list installed | grep php
php.x86_64 5.4.16-36.el7_1 @updates
php-bcmath.x86_64 5.4.16-36.el7_1 @updates
php-cli.x86_64 5.4.16-36.el7_1 @updates
php-common.x86_64 5.4.16-36.el7_1 @updates
php-devel.x86_64 5.4.16-36.el7_1 @updates
php-fpm.x86_64 5.4.16-36.el7_1 @updates
php-gd.x86_64 5.4.16-36.el7_1 @updates
php-mbstring.x86_64 5.4.16-36.el7_1 @updates
php-mcrypt.x86_64 5.4.16-3.el7 @epel
php-mysql.x86_64 5.4.16-36.el7_1 @updates
php-pdo.x86_64 5.4.16-36.el7_1 @updates
php-pear.noarch 1:1.9.4-21.el7 @base
php-process.x86_64 5.4.16-36.el7_1 @updates
php-xml.x86_64 5.4.16-36.el7_1 @updates
Отлично, сейчас у нас стоит версия 5.4 и нехитрый список пакетов. Список запоминаем и сносим к чертям всё что связано с php:
$ yum remove php-*
Подключаем epel и webtalic репозитории:
$ rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
$ rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Проверяем на всякий случай:
$ php -v
-bash: php: command not found
Теперь ставим php 5.6 + opcache:
$ yum install php56w php56w-opcache
...
$ php -v
PHP 5.6.19 (cli) (built: Mar 4 2016 23:38:37)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
Ага, красота, ставим остальные пакеты:
$ yum install php56w-mcrypt php56w-gd php56w-pdo php56w-pear php56w-gettext php56w-xml php56w-mysql php56w-intl php56w-mbstring
И не забываем перезапустить бэкэнд:
$ service httpd restart