Автор Тема: Ошибка classes/module/Module.php(1361) : eval()'d code:  (Прочитано 5153 раз)

29 Декабрь 2016, 20:39:55
  • Фрилансер
  • *
  • Сообщений: 107
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
    • "Караван Бусин" украшения Пандора
Может кто сталкивался?
Нажал кнопочку обновить модуль комментарием и получил ошибку:
[PrestaShop] Fatal error in module file :........./classes/module/Module.php(1361) : eval()'d code:
Can't use function return value in write context
при этом лег полностью весь сайт
Сторінка хосту www.karavanbusin.com не працює
Хост www.karavanbusin.com зараз не може обробити цей запит.
HTTP ERROR 500
Может кто-то знает что делать?
Шармы, бусины, браслеты Пандора.
www.karavanbusin.com
30 Декабрь 2016, 11:45:25
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Откатить обратно. Обновлять вам нужно в ручную. У вас изменены базовые файлы prestashop. После таких изменений кнопками обновить нельзя пользоваться.
30 Декабрь 2016, 11:47:21
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 107
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
    • "Караван Бусин" украшения Пандора
Откатить обратно. Обновлять вам нужно в ручную. У вас изменены базовые файлы prestashop. После таких изменений кнопками обновить нельзя пользоваться.

Спасибо. Скачал резервную копию сайта, достал этот модуль и обновил всю папку.
Шармы, бусины, браслеты Пандора.
www.karavanbusin.com
14 Июль 2019, 09:35:05
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Блок кода в модуле Module.php:
{
// Get content from php file
$filepath = _PS_MODULE_DIR_.$module.'/'.$module.'.php';
$file = trim(file_get_contents(_PS_MODULE_DIR_.$module.'/'.$module.'.php'));
if (substr($file, 0, 5) == '<?php')
$file = substr($file, 5);
if (substr($file, -2) == '
?>
')
$file = substr($file, 0, -2);

// If (false) is a trick to not load the class with "eval".
// This way require_once will works correctly
1201 строка                  if (eval('if (false){ '.$file.' }') !== false)
require_once( _PS_MODULE_DIR_.$module.'/'.$module.'.php' );
else
$errors[] = sprintf(Tools::displayError('%1$s (parse error in %2$s)'), $module, substr($filepath, strlen(_PS_ROOT_DIR_)));
}
Не боги горшки обжигают, не зачем им такой хренью заниматься.
14 Июль 2019, 09:40:38
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Хотелось бы понять по какой причине возникла эта ошибка.
Залил по FTP новый модуль специально разработанный для
версии PS 1.6.0.5, появилась ошибка при заходе в админку
(Модули) вместо страницы с модулями:

[PrestaShop] Fatal error in module Module.php(1201) : eval()'d :
Can't use method return value in write context

Удалил модуль ошибка пропала.
Что бы это могло значить?
Не боги горшки обжигают, не зачем им такой хренью заниматься.
14 Июль 2019, 11:45:33
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Версия php установленная на хостинге не подходит для этого модуля.
14 Июль 2019, 12:15:33
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Версия php установленная на хостинге не подходит для этого модуля.

Был PHP 5.6  поменял на 7.0
почистил кешу, включил перекомпиляцию, выключил ККК

Ошибка не ушла, все равно не могу зайти в закладку модули.

Не боги горшки обжигают, не зачем им такой хренью заниматься.
14 Июль 2019, 21:54:00
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Снижать версию PHP нужно на 5.4 или 5.2, а не повышать.
15 Июль 2019, 11:24:42
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Включил показ ошибок, выдало вот это:

Fatal error: Can't use method return value in write context in /home/u2943232/public_html/сайт.ru/classes/module/Module.php(1201) : eval()'d code on line 214
[PrestaShop] Fatal error in module Module.php(1201) : eval()'d :
Can't use method return value in write context

        // We load configuration from the cache
214 строка if (isset(self::$modules_cache[$this->name]))



Поменял PHP на 5.2 ошибка осталась.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
15 Июль 2019, 11:45:28
Ответ #9
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Модуль, который подключаете, нужно смотреть, а не класс Module.php. В этом модуле нет проверки на получаемые значения, от этого и ошибка.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
15 Июль 2019, 13:30:47
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Как это сделать если модуль я вижу только через FTP, а в админке
его нет так как он блокирует открытие списка модулей, соответственно
я не могу установить показ ошибок.

Модуль который хочу установить kbmarketplace
Не боги горшки обжигают, не зачем им такой хренью заниматься.
15 Июль 2019, 14:52:58
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
15 Июль 2019, 19:17:30
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
15 Июль 2019, 23:34:41
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
В этом модуле не только kbmarketplace.php проверять нужно. Все файлы протестировать. С бесплатными модулями от knowband постояно проблемы.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
16 Июль 2019, 09:35:00
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Я могу Вам прислать весь модуль целиком, давайте
адрес он очень большой в развернутом виде 50 Мгб.
Не боги горшки обжигают, не зачем им такой хренью заниматься.