Ioncube - установка ionCube Loader на FreeBSD

Версия для печатиОтправить другуPDF version

Ioncube logo

ionCube — это популярный способ шифрования php-файлов. ionCube был создан в 2002 как инструмент для защиты программного обеспечения (написанном на PHP) от просмотра, изменения или запуска на компьютерах, без требуемой лицензии. Сама технология кодирования выросла из проекта PHP Accelerator и изначально запускалась в составе сервиса, в котором PHP-скрипты загружались, раскодировались и возвращались обратно в командную оболочку.

Попробуем установить ionCube на сервере под управлением FreeBSD. Исходные данные следующие:

uname -srm
FreeBSD 10.3-RELEASE amd64
php -v
PHP 5.5.37 (cli) (built: Jun 30 2016 01:19:54)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

Виполним установку ionCube из системы портов:

# cd /usr/ports/devel/ioncube && make install clean && rehash

После установки порта получаем инструкции, которые необходимо выполнить:

Edit /usr/local/etc/php.ini or /usr/local/etc/php/extensions.ini
and add this three lines:

--------------------------------------------------------------------------------
[Zend]
zend_extension="/usr/local/lib/php/20121212-zts/ioncube/ioncube_loader.so"
zend_extension_ts="/usr/local/lib/php/20121212-zts/ioncube/ioncube_loader_ts.so"
--------------------------------------------------------------------------------

NOTE: If you have any Zend Extension already installed - you need put this before
existing zend_extension lines.

Добавим в php.ini следующие строки:

[Zend]
zend_extension="/usr/local/lib/php/20121212-zts/ioncube/ioncube_loader.so"
zend_extension_ts="/usr/local/lib/php/20121212-zts/ioncube/ioncube_loader_ts.so"

ВАЖНО! Если уже установлены какие-либо Zend Extension, то необходимо добавить эти строки ДО присутствующих строк zend_extension!

Проверяем, подгрузился ли модуль:

# php -v
Failed loading /usr/local/lib/php/20121212-zts/ioncube/ioncube_loader.so:  /usr/local/lib/php/20121212-zts/ioncube/ioncube_loader.so: Undefined symbol "executor_globals"
PHP 5.5.37 (cli) (built: Jun 30 2016 01:19:54)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

Ошибка! Решаем ее следующим образом. Удаляем строку:

zend_extension="/usr/local/lib/php/20121212-zts/ioncube/ioncube_loader.so" 

А zend_extension_ts изменим в zend_extension. Тоесть, после всех редактирований php.ini получаем следующие добавленные строки:

[Zend]
zend_extension="/usr/local/lib/php/20121212-zts/ioncube/ioncube_loader_ts.so"

Проверяем:

# php -v
PHP 5.5.37 (cli) (built: Jun 30 2016 01:19:54)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
    with the ionCube PHP Loader v5.0.21, Copyright (c) 2002-2016, by ionCube Ltd.

Все в порядке, ionCube PHP Loader подгружен. Ну и последний штрих... Чтобы модуль был доступен веб-серверу Apache, его необходимо будет перезапустить:

sh /usr/local/etc/rc.d/apache24 restart

 

Голосов пока нет

Вставай, Україно!

Литература

Блаженны юзеры ибо не ведают что творят!