SergDrakus

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

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

SergDrakus    1

При обновлении кеша модификатора в админке (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 минуты. Это нормально? В какую сторону копать?

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


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

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

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


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

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

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


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

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

Найти кнопку

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


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

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

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

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

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


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

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

 

 

найти

admin\controller\extension\modification.php

 

в нем

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

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

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

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

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


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

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

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

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

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

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


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

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

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