Переход с php5 на php7 для Centos 6

Поддержка php7 доступна благодаря возможностям Ioncube 10.2.x, по этому при смене версии php необходимо так же сменить Zend Loader на Ioncube Loader.

Установим репозитории 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

Скачаем и распакуем 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 listen.owner и listen.group на apache или nginx

Перезапускаем php-fpm, что бы web подтянул модуль ioncube

/etc/init.d/php-fpm restart
  • billing/update_from_5_to_7_centos.txt
  • Последние изменения: 3 недель назад
  • — Александр Дудяк