Prestashop 1.6.1.11 (500) Внутренняя ошибка сервера (ассоциации) байты исчерпаны


У меня был вопрос, опубликованный на форумах Prestashop в течение некоторого времени, касающийся проблемы, которую я не уверен, как решить. Я опубликую ссылку ниже на исходный вопрос, буду признателен за любую помощь, которую я могу получить по этому вопросу.

Первоначальный вопрос на форуме Prestashop.


Prestashop 1.6.1.11: Каждый раз, когда я получаю доступ к определенным продуктам и пытаюсь отредактировать их ассоциации, я получаю уведомление об ошибке;

(500 Внутренний Ошибка сервера)

При загрузке вкладок произошла ошибка сервера: не удалось загрузить некоторые вкладки. Пожалуйста, повторите попытку, обновив страницу. Если вы все еще сталкиваетесь с этой проблемой, пожалуйста, проверьте журналы своего сервера или обратитесь за помощью к своему хостинг-провайдеру.

Я выполнил несколько шагов, чтобы попытаться идентифицировать ошибку, как показано ниже в моем фрагменте кода, в результате чего я смог вернуть несколько подробностей об ошибке.

<php

// I enabled dev mode via config/defines.inc.php
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', true);
}

?>

Повторяя шаги, я попытался исправить ошибку.

Таков был мой результат...

Фатальная ошибка: Разрешенный объем памяти 134217728 байт исчерпан (пытался выделить 8192 байта) в/classes/cache/CacheFs.php в режиме онлайн 69

Я сделал несколько шагов вперед в надежде исправить эту проблему, но все безрезультатно. Я перечислю шаги, которые я предпринял ниже;

  • Скорректировал свой php.ini, чтобы разрешить полный лимит памяти, я опубликую полный копия которого приведена ниже. (memory_limit = 128M)
  • Связался с моим хостинг-провайдером, чтобы на моем сервере был установлен модуль кэширования "XCache" в надежде найти решение для кэширования по умолчанию и найти возможное исправление. Однако в настоящее время это невозможно.
  • Проверено на наличие проблем с недавно установленным модулем. (Не найдено)


Я еще немного покопался в Интернете, но большинство решений кажутся чрезмерными, например, перестройка кода, чтобы быть менее интенсивная память. К сожалению, я недостаточно уверен в своей способности надежно решить эту проблему с помощью моих текущих знаний, и я ищу несколько советов о том, как устранить эту ошибку.

С уважением, - В

РЕДАКТИРОВАТЬ

После дальнейшего копания и отключения кэширования мое местоположение ошибки изменилось на; Adapter/Adapter_EntityMapper.php on line 98.

Author: Beaniie, 2017-03-27

2 answers

Вы исчерпали 128 м, а также исчерпали 1024 м, что нелепо (на самом деле, 128 м довольно нелепо само по себе).

Это вряд ли будет стандартной утечкой; больше похоже на циклическое распределение. Это почти так, как если бы картограф сущностей нашел ссылку на другую сущность, которая с помощью коммодиуса викуса рециркуляции вернулась к первой сущности. При попытке разрешить граф сущностей-Отношений-атрибутов каждый цикл выделяет больше памяти во вложенном структурировать, пока не будет исчерпана вся доступная память.

Просто в качестве примера, и даже не в PHP:

ProductA: {
    Name: "Phone charger",
    Details: {
         Accessories: {
             ProductB: {
                 Name: "Phone charger cable",
                 Details: {
                     Accessories: {
                         ProductA: {
                             Name: "Phone charger",
                             Details: {
                                 ...

Можете ли вы проверить, идентична ли структура атрибутов вашего продукта между одним из продуктов, которые работают, и тем, который не работает?

 3
Author: LSerni, 2017-03-31 19:29:37

Вы можете попробовать отключить все переопределения, чтобы узнать, есть ли проблема:

  1. Включите режим отладки/отчеты об ошибках, установив значение конфигурации _PS_MODE_DEV_ равным true в config/defines.inc.php

define('_PS_MODE_DEV_', true);

  1. Войдите в свою панель администрирования PrestaShop 1.6.
  2. Нажмите на пункт меню "Дополнительные параметры", расположенный на левой боковой панели, а затем на "Производительность".
  3. Переключите кнопку Отключить все переопределения в режиме отладки раздел
 0
Author: buzkall, 2017-03-31 08:50:42