Перейти к содержанию
SergDrakus

[Решено]?Долго обновляеься кеш модификатора ocmod

Рекомендуемые сообщения

При обновлении кеша модификатора в админке (ocmod) всегда появляется ошибка nginx 500. В логах написана ошибка Ошибка

2017/01/02 18:09:33 [error] 9545#9545: *107735 FastCGI sent in stderr: "PHP message: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 83371161 bytes) in /var/www/admin/data/www/site.ru/admin/controller/extension/modification.php on line 779" while reading response header from upstream, client: 91.79.180.34, server: site.ru, request: "GET /admin/index.php?route=extension/modification/refresh&token=jtstiBRnq3PHzb67zVre9NSrMO0yYfV4 HTTP/1.1", upstream: "fastcgi://unix:/var/www/php-fpm/admin.sock:", host: "site.ru", referrer: "https://site.ru/admin/index.php?route=extension/modification&token=jtstiBRnq3PHzb67zVre9NSrMO0yYfV4"

Изменил в конфигурации PHP значение со 128М до 256М. Ошибка больше не возникает, но обновление кеша занимает 2-4 минуты. Это нормально? В какую сторону копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В сторону очистки логов модификаторов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что вы имете ввиду? Нажать на кнопку "Очистка" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Открыть вкладку log

Найти кнопку

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел файл ocmod.log на пути system/storage/logs

Весит он 41 Мб. Афигеть просто он увеличился за неделю.

Подскажите, можно ли вообще отключить его создание?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, но его  можно очищать после каждого обновления

 

 

найти

admin\controller\extension\modification.php

 

в нем

$ocmod = new Log('ocmod.log');

перед ним вставить

			$handle = fopen(DIR_LOGS . 'ocmod.log', 'w+');
			fclose($handle);

Таким образом вы всегда будет иметь только актуальный лог - на момент последнего обновления

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получил конструкция вида:

// Log
$handle = fopen(DIR_LOGS . 'ocmod.log', 'w+');
fclose($handle);
$ocmod = new Log('ocmod.log');
$ocmod->write(implode("\n", $log));

Проблема решена, спасибо!

Изменено пользователем SergDrakus

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.