Это старая версия документа!
Переход с php5 на php7 для Centos 6
Поддержка php7 доступна благодаря возможностям Ioncube 10.2.x, по этому при смене версии php необходимо так же сменить Zend Loader на Ioncube Loader.
Обновление до PHP7
Установим репозитории epel и remi
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm
Установим yum-utils
yum install yum-utils
Поставим php7.2 по умолчанию
yum-config-manager --enable remi-php72
Установим необходимые пакеты
yum install php php-fpm php-bcmath php-cli php-common php-devel php-embedded php-gd php-imap php-mbstring php-mysql php-pdo php-process php-pspell php-recode php-snmp php-soap php-xml php-xmlrpc php-pear
Проверим версию php
php -v
Должно быть:
Failed loading /usr/local/zend/ZendGuardLoader.so: /usr/local/zend/ZendGuardLoader.so: undefined symbol: zval_used_for_init PHP 7.2.12 (cli) (built: Nov 6 2018 16:57:52) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Замена Zend на Ioncube
Скачаем и распакуем Ioncube loader
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -zxvf ioncube_loaders_lin_x86-64.tar.gz
Создадим будущую директорию под ioncube
mkdir /usr/local/ioncube
Скопируем необходимые файлы
cp ioncube/ioncube_loader_lin_7.2* /usr/local/ioncube
Подключим их в PHP, заменив содержимое
nano /etc/php.d/zend.ini
[Zend] zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.2.so zend_extension_ts = /usr/local/ioncube/ioncube_loader_lin_7.2_ts.so
В результате должно быть:
php -v
PHP 7.2.12 (cli) (built: Nov 6 2018 16:57:52) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.7, Copyright (c) 2002-2018, by ionCube Ltd.
Перезапускаем php-fpm, что бы web подтянул модуль ioncube
/etc/init.d/php-fpm restart