При попытке настроить модуль Simple (простая регистрация и заказ в OpenCart) для сайта на движке OpenCart, который был установлен на Open Server, мне выдало ошибку:
Site error: the ionCube PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking. Please visit get-loader.ioncube.com for install assistance.
А вот и Google перевод:
Ошибка сайта: необходимо установить загрузчик ionCube PHP. Это широко используемое расширение PHP для запуска PHP-кода, защищенного ionCube, безопасности веб-сайтов и блокировки вредоносных программ. Посетите get-loader.ioncube.com для получения помощи по установке.
Ошибки могут быть и другого характера. Например:
Edit the file C:\OpenServer\modules\php\PHP-7.3\php.ini and before any other zend_extension lines ensure that the following is included:
zend_extension = "C:\OpenServer\modules\php\PHP-7.3\ioncube\ioncube_loader_win_7.3.dll"
Как видим, нам необходимо подключить ionCube в своей версии PHP, о чем нам и сообщает ошибка.
На заметку.
IonCube предназначен для кодирования исходного кода PHP. Это позволяет обезопасить вашу работу от посторонних глаз. Кроме этого выполнение зашифрованных IonCube сценариев PHP ускоряет их работу на 30-40%.
Если у вас установлен на компьютер Open Server, нет необходимости устанавливать ionCube. ionCube уже есть в составе Open Server, достаточно просто раскомментировать расширение «;zend_extension = ioncube» в шаблоне конфигурации PHP. Есть два основных способа, как это сделать.
Примечание.
Из сообщения ошибки, может сложится впечатление, что необходимо править файл конфигурации PHP по пути: «C:\OpenServer\modules\php\PHP-ваша_версия». Однако, тот файл «php.ini», является временным и его бесполезно править. При перезапуске Open Server, данный файл перезаписывается с настройками по умолчанию. Ниже, описаны рабочие способы, которые помогут произвести нужные манипуляции с параметрами PHP.
Способ 1.
Включить ionCube, через интерфейс программы Open Server.
Открываем системный трей (1.) и щелкаем правой кнопкой мыши по флажку (2.) Open Server. Переходим по пути:
«Дополнительно» (3.) -> «Конфигурация» (4.) -> «PHP_7.3» (5.)
Обратите внимание, что у вас, может отличатся версия PHP, в зависимости от того, какую версию вы выбрали. В моем примере, это PHP 7.3.
В открывшемся окне
ищем:
;zend_extension = ioncube
Чтобы найти быстро нужный параметр, можно воспользоваться поиском. Выберите «Поиск» -> «Найти»:
В открывшемся поле поиска (1.), вставляем «;zend_extension = ioncube» (без кавычек) и получаем результат (2.):
Теперь, раскомментируйте расширение ionCube в шаблоне конфигурации PHP. Для этого, просто убираем точку с запятой перед «zend_extension = ioncube». Должно стать так:
Как видим, у нас пропал знак «;», перед «zend_extension = ioncube». Это и есть раскомментировать «ionCube» в конфигурации PHP.
Теперь, не забываем сохранить изменения. Выбираем «Файл» -> «Сохранить».
Закрываем окно и перезапускаем сервер Open Server. Для этого, открываем системный трей (1.) и щелкаем по флажку (2.) правой кнопкой мыши, выбираем «Перезапустить» (3.):
После этого, все должно работать.
Стабильный и доступный виртуальный хостинг и VPS для сайтов любой любой сложности и нагруженности. Защита от DDoS и качественное администрирование. Хостинг-провайдер для тех, кто ценит стабильность и безопасность.
Способ 2.
Включить ionCube, через сторонний редактор кода в Open Server.
Идем по пути:
C:\OpenServer\userdata\config\ваша_версия_PHP
В папке config, необходимо найти файл «PHP_ваша_версия_php.ini».
В моем примере, выберу файл «PHP_7.3_php.ini»:
Чтобы открыть файл и раскомментировать «ionCube» в конфигурации PHP, используйте Notepad++ или любой другой редактор.
Для правки файлов, есть удобный редактор Visual Studio Code: https://code.visualstudio.c...
Есть русский язык: https://marketplace.visuals...
Открываем файл «PHP_ваша_версия_php.ini» и ищем
;zend_extension = ioncube
В своем примере, воспользуюсь редактором Visual Studio Code и открою в нем файл «PHP_7.3_php.ini»:
Теперь, чтобы быстро найти расширение «zend_extension = ioncube», открываем «Правка» -> «Найти»:
В поле поиска (1.), вставляем «;zend_extension = ioncube» (без кавычек) и получаем результат (2.):
Теперь, нам необходимо раскомментировать расширение «zend_extension = ioncube» в шаблоне PHP. Для этого, убираем точку с запятой «;» перед «zend_extension = ioncube». Должно стать так:
Видим,что у нас пропал знак «;», перед «zend_extension = ioncube». Таким образом, мы раскомментировали с вами «ionCube» в конфигурации PHP. Теперь, не забываем сохранить свои изменения:
Закрываем окно и перезапускаем сервер Open Server (смотрим скрины выше из Способ 1).
После этого, все должно работать.
По теме: «Изменяем лимит «max_execution_time» в PHP конфигурации на Open Server.»
Надеюсь, данная заметка, будет вам полезной. Успехов.
В версии php 8 нет этой фишки.
ОтветитьУдалитьЕстественно, ведь на ionCube на текущий момент не поддерживается в PHP 8 и выше. Поэтому, если использовать Open Server с PHP 8, не будет возможности включить ionCube. Если появляется ошибка о том, что нужен ionCube, единственное решение, понизить версию PHP до 7.4 и ниже. Второй вариант, обратиться к автору темы/плагина с просьбой убрать поддержку ionCube из своего решения. На данный момент, ionCube часто по прежнему нужен для корректной работы многих тем и модулей под OpenCart.
УдалитьСпасибо, за дополнение. Ваша информация, будет полезна другим пользователям. Успехов.