AAChibilyaev
@AAChibilyaev
Разработка

Как исправить 504 ошибку сервера из-за prestashop?

В административной части Prestashop имеется раздел "ПЕРЕСОЗДАТЬ МИНИАТЮРЫ".
Как при попытке пересоздания как всех картинок сразу, так и по отдельности (изображения, форматы), даже без удаления старых изображений(Удалить старые изображения - НЕТ), сервер вылетает в 504.
Как исправить данную проблему?

Сервер:
4 ядра 1200MHz
RAM: 8GB
HDD: 80GB SSD

Добавил время на выполнение в php, apache и nginx , значения в 600 секунд, однако ошибка появляется через 60. По какой то причине nginx не принимает параметры. - Не помогло
Сжал картинки без потери качества linux-утилиткой, перегенерировал картинки, все равно 504

Может имеется какой-либо пакетный инструмент в Prestashop для пересоздания миниатюр?
  • Вопрос задан
  • 730 просмотров
Пригласить эксперта
Ответы на вопрос 2
@ITLandgraf
vk.com/digital_workroom
Если сервер свой, то проще будет разобраться с параметром max_execution_time. На хостингах этот параметр не увеличить больше 120 сек (обычно).
Можно попробовать запустить через консоль функцию _regenerateThumbnails из controllers/admin/AdminImagesController.php, запаковав её в файл:
<?php
//в корень сайта!!!
include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/init.php');

_regenerateThumbnails('all', true);
 
echo 'Done!';
?>


Этот код в работе не проверял.

А можно заставить функцию _regenerateThumbnails работать только для интервала ID - такого, который не приводит к таймауту на сервере. И менять этот интервал. Например, сначала 1-500, 501-1000 и т. д.
Так делал, работает.
Ответ написан
teet
@teet
Предлагаю поискать в коде метод, который пересоздает миниатюры и написать скриптик на php, который использует этот метод (делел так для open real estate cms). Запустить все в консоли.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы