Image

База знаний → Установка Ioncube для php на Debian 12

[Виртуальные сервера]
Дата публикации: 16.10.2023

Ioncube - это php модуль, позволяющий работать с закодированными скриптами. Данные скрипты имеют закрытый код, как правило, это коммерческие системы или модули, являющимися платными. В данных скриптах как правило используется проверка валидности лицензии и чтобы данный код проверки никто не убрал, а сам исходный код не был использован в коммерческих целях другими - его кодируют. Данный php модуль выполняет декодирование, что делает такой тип скриптов рабочим.

Для каждой php версии необходимо установить свою версию модуля.

1. Скачаем последнюю версию Ioncube

x64

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
x32

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

2. Установка

2.1 Определим наличие php версий на сервере

ls /usr/bin/ | grep php

php
php7.3
php8.1

В нашем случае на сервере установлены 2 версии для которых мы настроим Ioncube.

2.2 Определим папку расположения php модулей для каждой версии

php 7.3

/usr/bin/php7.3 -i | grep extension_dir

extension_dir => /usr/lib/php/20180731 => /usr/lib/php/20180731
php 8.1

/usr/bin/php8.1 -i | grep extension_dir

extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902

2.3 Скопируем модули из скачанного архива

tar -xvf ioncube_loaders_lin_x86-64.tar.gz -C /var/tmp/
cp /var/tmp/ioncube/ioncube_loader_lin_7.3.so /usr/lib/php/20180731
cp /var/tmp/ioncube/ioncube_loader_lin_7.3_ts.so /usr/lib/php/20180731
cp /var/tmp/ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902
cp /var/tmp/ioncube/ioncube_loader_lin_8.1_ts.so /usr/lib/php/20210902

2.4 Добавим модули в конфигурационный файл

2.4.1 Для запуска скриптов из консоли (для cron задач)

vim /etc/php/7.3/cli/php.ini

[Zend]
zend_extension=/usr/lib/php/20180731/ioncube_loader_lin_7.3.so
zend_extension_ts = /usr/lib/php/20180731/ioncube_loader_lin_7.3_ts.so
vim /etc/php/8.1/cli/php.ini

[Zend]
zend_extension=/usr/lib/php/20210902/ioncube_loader_lin_8.1.so
zend_extension_ts = /usr/lib/php/20210902/ioncube_loader_lin_8.1_ts.so

2.4.2 Для веб службы, в нашем примере мы используем fpm

vim /etc/php/7.3/fpm/php.ini

[Zend]
zend_extension=/usr/lib/php/20180731/ioncube_loader_lin_7.3.so
zend_extension_ts = /usr/lib/php/20180731/ioncube_loader_lin_7.3_ts.so
vim /etc/php/8.1/fpm/php.ini

[Zend]
zend_extension=/usr/lib/php/20210902/ioncube_loader_lin_8.1.so
zend_extension_ts = /usr/lib/php/20210902/ioncube_loader_lin_8.1_ts.so

Если Вы используете apache, добавьте строки по аналогии.

2.5 Сохраним и применим настройки

Для сохранения изменений в конфигурационных файлах используйте команду

:wq

Перезапустим веб службы

service php7.3-fpm restart
service php8.1-fpm restart

3. Проверка

php 7.3

/usr/bin/php7.3 -v

PHP 7.3.33-14+0~20230902.114+debian12~1.gbp764b27 (cli) (built: Sep  2 2023 07:12:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
    with the ionCube PHP Loader + ionCube24 v13.0.2, Copyright (c) 2002-2023, by ionCube Ltd.
    with Zend OPcache v7.3.33-14+0~20230902.114+debian12~1.gbp764b27, Copyright (c) 1999-2018, by Zend Technologies
php 8.1

/usr/bin/php8.1 -v

PHP 8.1.23 (cli) (built: Oct  6 2023 10:18:33) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.23, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.23, Copyright (c), by Zend Technologies

Готово, теперь закодированные скрипты будут корректно работать на Вашем сервере.





Нет комментариев