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    1 017

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

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


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

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

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


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

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

Найти кнопку

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


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

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

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

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

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


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

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

 

 

найти

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 пользователей онлайн

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