RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Боковая панель


Навигация

Линкшэринг

ALARM!

Добавить новую страницу

You are not allowed to add pages
linux:ioncube


Установка ionCube Loader

Ioncube Loader скачиваем с сайта http://www.ioncube.com/loaders.php

CentOS

Проверяем текущую версию PHP

# php -v
PHP 5.3.3 (cli) (built: May 10 2016 21:30:21) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Скачиваем архив ionCube в /tmp

Для x86

# wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

Для x86_64

# wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Распаковываем архив

# tar xzvf ioncube*

Копируем модули ionCube

Для x86

# mv ioncube /usr/lib/php/ioncube

Для x86_64

# mv ioncube /usr/lib64/php/ioncube

Добавляем модуль

Для x86

# echo "zend_extension=/usr/lib/php/ioncube/ioncube_loader_lin_5.3.so" >> /etc/php.d/ioncube.ini

Для x86_64

# echo "zend_extension=/usr/lib64/php/ioncube/ioncube_loader_lin_5.3.so" >> /etc/php.d/ioncube.ini

Перезагружаем веб-сервер Apache или php-fpm

# service httpd restart
# service php-fpm restart

Проверяем загружен ли модуль

# php -m | grep ionCube

Проверяем еще раз php -v

PHP 5.3.3 (cli) (built: May 10 2016 21:30:21) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.1.2, Copyright (c) 2002-2016, by ionCube Ltd.

Debian

Проверяем текущую версию PHP

# php -v
PHP 5.6.20-0+deb8u1 (cli) (built: Apr 27 2016 11:26:05) 
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

Скачиваем архив ionCube в /tmp

Для x86

# wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

Для x86_64

# wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Распаковываем архив

# tar xzvf ioncube*

Смотрим где расположен каталог с php модулями

# php -i | grep extension_dir
extension_dir => /usr/lib/php5/20131226 => /usr/lib/php5/20131226

Копируем .so файл для нашей версии php

# cp ./ioncube_loader_lin_5.6.so /usr/lib/php5/20131226
# chmod 755 /usr/lib/php5/20131226/ioncube_loader_lin_5.6.so
# echo "zend_extension=/usr/lib/php5/20131226/ioncube_loader_lin_5.6.so" >> /etc/php5/mods-available/ioncube.ini
# ln -s /etc/php5/mods-available/ioncube.ini /etc/php5/fpm/conf.d/01-ioncube.ini
# ln -s /etc/php5/mods-available/ioncube.ini /etc/php5/cli/conf.d/01-ioncube.ini
# ln -s /etc/php5/mods-available/ioncube.ini /etc/php5/cgi/conf.d/01-ioncube.ini
# ln -s /etc/php5/mods-available/ioncube.ini /etc/php5/apache2/conf.d/01-ioncube.ini

Перезагружаем веб-сервер Apache или php5-fpm

# service apache2 restart
# service php5-fpm restart

Проверяем загружен ли модуль

# php -m | grep ionCube

Проверяем еще раз php -v

# php -v
PHP 5.6.20-0+deb8u1 (cli) (built: Apr 27 2016 11:26:05) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.1.2, Copyright (c) 2002-2016, by ionCube Ltd.
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Дополнительная информация

Thread Safety

Внутри каталога ioncube находятся файлы ioncube_loader_lin_5.x.so и ioncube_loader_lin_5.x_ts.so

ts версия нужна для режима Thread safety:

What does thread safety mean when downloading PHP? | Что означает потокобезопасность при скачке PHP?

Если в phpinfo() значение Thread Safety установлено в disable, то берем файл ioncube_loader_lin_5.x.so Если установлено значение enable, то берем файл ioncube_loader_lin_5.x_ts.so

Какая основная разница между этими версиями?

Какая основная разница между этими версиями?

http://softtime.ru/forum/read.php?id_forum=1&id_theme=85301

Просто модели параллельной обработки в разных операционных системах разные. Где-то параллельные процессы, а где-то параллельные потоки. Если PHP встраивается как модуль, он может выполняться в параллельных потоках. Если же он устанавливается как внешние CGI-приложения, то только как параллельный процесс. В последнем случае по барабану что он внутри своего процесса делает, поэтому он может быть non thread safe php. Если же он выполняется как часть потока или в виде отдельного потока, с среде других параллельных потоков, он должен подчиняться правилам синхронизации при доступе к ресурсам (thread safe php). В UNIX-системах традиционно были сильны именно процессы, часто системы целиком на них выстраивали, в Windows - процесс это просто контейнер, если в нем нет ни одного потока, он ничего не делает и операционная система его быстро уничтожает. Всю работу делают потоки, которых может быть много. В UNIX-же вообще нет таких потоков, там проще процесс создать.

Т.е. фраза " Насколько я понял, thread safe php не создаёт отдельного потока" не совсем корректна - в Windows вы ничего без потоков не сделаете. Просто у вас наличие потоков может играть решающую роль, а может не играть такой роли. Ведь потоки имеют общее адресное пространство, а процессы раздельное. Т.е. одному процессу не так просто записать в память другому процессу информацию - нужно приложить усилия (переменные окружения, сообщения, сигналы, файлы, то что называется межпроцессорным взаимодействием). В потоках же наоборот нужно приложить усилия, чтобы они одновременно в одно и тоже место не обращались.


PHP Fatal error

The ionCube Loader is a Zend-Engine extension and not a module

Please specify the Loader using ‘zend_extension’ in php.ini

Используйте в ini файле zend_extension= вместо extension=

The Loader must appear as the first entry in the php.ini file in Unknown on line 0

ionCube модуль должен загружаться первым, а после него уже opcache и все остальные.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies

Discussion

Enter your comment. Wiki syntax is allowed:
 
linux/ioncube.txt · Последнее изменение: 2016/07/21 10:40 (внешнее изменение)