2014-04-08 3 views
1

Использование установленных последним IonCube Загрузчик следующие команды на Ubuntu на основе NGINX, PHP-FPM (5.5) стек 13,10 x64Ioncube трудности с PHP 5.5

cd /usr/local 
sudo wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz 
sudo tar xzf ioncube_loaders_lin_x86-64.tar.gz 
mv /usr/local/ioncube/* /usr/lib/php5/20121212/ 

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

zend_extension = /usr/lib/php5/20121212/ioncube_loader_lin_5.5.so 

Получение следующая ошибка на моих проектах журнал ошибок

... was encoded by the ionCube Encoder for PHP 5 and cannot run under PHP 5.5. ...

Что я делаю неправильно?

ответ

0

Цитата из поддержки ioncube заставляет меня чувствовать себя больным, они пытаются возложить вину на PHP, когда реальность заключается в том, что разработчики ioncube ленивы и надежно не наплевать. Это очень немного отличается от PHP 5.4 и PHP 5.5, в большинстве случаев не требуется никаких изменений в PHP-скриптах. PHP 5.5 очень стабилен и более безопасен, чем PHP 5.3.x. Они ошибаются, и они ленивы, и qoute от них заставляет меня чувствовать себя больным и сердитым.

+0

me to downgrade php? – heron

+0

@ efarid08 Инструменты, такие как run-time, работают на скомпилированном коде, а не на источнике. Внутри PHP 5.3 несколько отличается от 5.0, 5.4 a * lot * different и 5.5 больше других. Запуск байт-кода для более старого языка PHP требует исправления на лету, чтобы заставить его работать и сложно. В отличие от Zend, ionCube поддерживает даже код PHP 4 во время выполнения вплоть до PHP 5.4, но усилия по разработке для обеспечения совместимости с fwd экспоненциально растут с каждым новым языком PHP. Чтобы избежать неоправданной задержки в поддержке PHP 5.5, в настоящее время поддерживаются только файлы, закодированные для PHP 5.3, 5.4 и 5.5. D: Я связан с ionCube. – Nick

+1

Этот ответ абсолютно неверен, вы неправильно поняли природу ошибки. Насколько мне не нравится IonCube, то, что заставляет меня чувствовать себя больным, - это бессвязные и неправильные тирады от людей, которые не совсем понимают, о чем они говорят. – SHaKie

1

Это означает, что разработчик файлов подготовил их для работы на PHP 5.0 и выше, и такие файлы не могут быть запущены с помощью PHP 5.5 (см. Комментарий к @ efarid08 вне ответа метки). Они должны хорошо работать с PHP 5.4, и вы могли бы попросить разработчиков файлов создать версию, ориентированную на PHP 5.3 и выше. Помимо таких файлов, которые могут работать на PHP 5.5, они также должны работать быстрее, поскольку они более точно соответствуют целевому языку и могут использовать более эффективные внутренние механизмы для обработки определенных функций языка PHP. Еще лучше, если разработчик будет создавать для них непосредственный адрес PHP с помощью PHP 5.5 Encoder, который включен в обновление в версии 8.3.

Итак, используйте PHP 5.4 или, если возможно, закупайте обновленные закодированные файлы. Вы также можете всегда обращаться в службу поддержки ionCube через службу поддержки http://ioncu.be/S.

Отказ от ответственности: я связан с Ioncube

0

Убедитесь, что вы можете получить доступ к файлу: вобще

ls -al /usr/lib/php5/20121212/ioncube_loader_lin_5.5.so 

Кроме того, для Ubuntu IonCube предполагается быть загружены через /etc/php5/fpm/php.ini в разделе [Dynamic Extensions]

+0

Проверка доступа к файлу всегда является хорошим шагом. Выбор ini-файла несколько произволен, но разделы в файлах php.ini - это просто иллюзия, поскольку PHP не имеет понятия секций ini (т. Е. Синтаксис [] игнорируется). Помимо самого доступа, важно, чтобы Loader был первым загруженным расширением ядра и что файл соответствует правильной версии PHP и ОС. – Nick