смотрим нашу версию php
php -v
Создаём каталог
cd $(mktemp -d)
Смотрим архитектуру и качаем нужную версию
uname -m
wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
или
wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
(офсайт)
распаковываем
tar zxvf ioncube_loaders_lin_*
перемещаем на новое место
mv ioncube /usr/local/
или
mv ioncube /opt/
дальше надо вписать в конфиги php, но некоторые доки советуют вписывать в php.ini - это неправильно. Причём был случай - клиент сам вписал куда-то в середину файла и php просто его игнорировал. Правильно - создать отдельный файл в /etc/php5/conf.d/
echo "zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so" >> /etc/php5/conf.d/ioncube.ini
Эта строка может меняться, если мы сохранили в /opt или у нас другая версия php, приводим под свою систему.
Теперь проверяем. Проверка через phpinfo() мало что даёт -- если модуль не подключился, он там указан не будет. Но причин не покажет. Надо через сам php:
php -v
Виды ответов:
Failed loading /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: wrong ELF class: ELFCLASS32
Скачана 32-бит версия, а нужна 64.
Failed loading /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: /usr/local/ioncube/ioncube_loader_lin_5.2.so: wrong ELF class: ELFCLASS64
Тут наоборот, система 32 бита (x86), а скачали 64 (x86-64). Качаем версию под 32 бита.
Failed loading /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: undefined symbol: core_globals_id
Значит, нам нужен другой вариант (не _ts)
С "не той" версией php не проверялось.
Когда всё нормально, у меня полнвый вывод был такой:
# php -v
PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 4 2010 06:06:53)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with the ionCube PHP Loader v4.0.8, Copyright (c) 2002-2011, by ionCube Ltd.
Теперь перезапустим апач
/etc/init.d/apache2 restart
Теперь в phpinfo() должна появиться подпись как в php -v и в Additional Modules будет строка ionCube Loader
Делалось на основе доки http://magento-forum.ru/topic/1008/, но переработано и дополнено.
php -v
Создаём каталог
cd $(mktemp -d)
Смотрим архитектуру и качаем нужную версию
uname -m
wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
или
wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
(офсайт)
распаковываем
tar zxvf ioncube_loaders_lin_*
перемещаем на новое место
mv ioncube /usr/local/
или
mv ioncube /opt/
дальше надо вписать в конфиги php, но некоторые доки советуют вписывать в php.ini - это неправильно. Причём был случай - клиент сам вписал куда-то в середину файла и php просто его игнорировал. Правильно - создать отдельный файл в /etc/php5/conf.d/
echo "zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so" >> /etc/php5/conf.d/ioncube.ini
Эта строка может меняться, если мы сохранили в /opt или у нас другая версия php, приводим под свою систему.
Теперь проверяем. Проверка через phpinfo() мало что даёт -- если модуль не подключился, он там указан не будет. Но причин не покажет. Надо через сам php:
php -v
Виды ответов:
Failed loading /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: wrong ELF class: ELFCLASS32
Скачана 32-бит версия, а нужна 64.
Failed loading /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: /usr/local/ioncube/ioncube_loader_lin_5.2.so: wrong ELF class: ELFCLASS64
Тут наоборот, система 32 бита (x86), а скачали 64 (x86-64). Качаем версию под 32 бита.
Failed loading /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: /usr/local/ioncube/ioncube_loader_lin_5.2_ts.so: undefined symbol: core_globals_id
Значит, нам нужен другой вариант (не _ts)
С "не той" версией php не проверялось.
Когда всё нормально, у меня полнвый вывод был такой:
# php -v
PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 4 2010 06:06:53)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with the ionCube PHP Loader v4.0.8, Copyright (c) 2002-2011, by ionCube Ltd.
Теперь перезапустим апач
/etc/init.d/apache2 restart
Теперь в phpinfo() должна появиться подпись как в php -v и в Additional Modules будет строка ionCube Loader
Делалось на основе доки http://magento-forum.ru/topic/1008/, но переработано и дополнено.
Комментариев нет:
Отправить комментарий