Не формируются эскизы изображений «на лету»: как исправить

Формирование эскизов изображений «на лету» зависит от правильной работы серверных компонентов: установленного и правильно настроенного модуля mod_rewrite (как проверить) при использовании веб-сервера Apache либо nginx + FastCGI, для которого рекомендуем использовать в качестве примера проверенную конфигурацию.

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

1. Сайт работает на Apache, а запросы к изображениям обрабатываются nginx в обход Apache.

Такая настройка используется хостинг-провайдерами для снижения нагрузки на веб-сервер Apache, но при этом nginx не использует рекомендуемую конфигурацию.

Варианты решений:

  • изменить конфигурацию хостинга, заставляющую обрабатывать запросы к изображениям в обход Apache
  • использовать рекомендуемую конфигурацию для веб-сервера nginx

2. На хостинге включена функция создания автоподдоменов

Эта функция изменяет значения серверных переменных, нарушая правильную работу формирования эскизов изображений в Webasyst. Для устранения проблемы создание автоподдоменов нужно отключить.

3. Права доступа к директории с файлами эскизов не позволяют создавать новые файлы

Проверьте, чтобы пользователь сервера, от имени которого исполняются PHP-скрипты Вебасиста, имел полномочия для создания новых файлов и поддиректорий в директориях для хранения эскизов.

Для Shop-Script: wa-data/public/shop/products/
Для «Фото»: wa-data/public/photos/

4. Отсутствует оригинальное изображение

Если на сервере больше нет загруженного вами изображения, то не из чего формироваться эскизам. В этом случае нужно загрузить изображение заново.

5. Отсутствуют или повреждены файлы, ответственные за формирование эскизов

Проверьте наличие и корректное содержимое важных файлов.

Для Shop-Script:

  • wa-data/public/shop/products/.htaccess
  • wa-data/public/shop/products/thumb.php

Для «Фото»:

  • wa-data/public/photos/.htaccess
  • wa-data/public/photos/thumb.php
Содержимое оригинальных файлов можно получить из резервной копии файлов вашего сайта, хранящейся на сервере (хостинге). Оригинальные версии файлов можно также получить, временно установив эти приложения в отдельную папку на тестовом (локальном) сервере.

5 комментариев

  • +3
    Морозов Морозов 11 ноября 2015 12:03 #

    Добрый день. Подскажите Как проверить? Что там должно быть написано из 5 пункта

    5. Отсутствуют или повреждены файлы, ответственные за формирование эскизов

    Проверьте наличие и корректное содержимое важных файлов.

    Для Shop-Script:

    • wa-data/public/shop/products/.htaccess
    • wa-data/public/shop/products/thumb.php

    Для «Фото»:

    • wa-data/public/photos/.htaccess
    • wa-data/public/photos/thumb.php
    • +1
      Юзверь Юзверь 9 декабря 2015 06:48 #

      Так же хотелось понимать, что там может быть не корректно в 5 пункте, почему бы не выложить сюда корректный код

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 9 декабря 2015 07:34 #

      Этот код может время от времени изменяться, поэтому публикация его в статье только вводила бы в заблуждение.

      Чтобы узнать, какой код считается корректным, достаточно установить приложение на тестовый (локальный) сервер и посмотреть содержимое файла там.

    • +1
      partner2000 partner2000 16 марта 2016 04:17 #

      Ну а всё же что должно быть в файле thumb.php. По этому пути

      • wa-data/public/shop/products/thumb.php
      • +2
        artur-er artur-er 17 марта 2016 01:36 #

        Для файла .htaccess

        <ifModule mod_rewrite.c>

        RewriteEngine On

        RewriteCond %{REQUEST_FILENAME} !-f

        RewriteRule ^(.*)$ thumb.php [L,QSA]

        </ifModule>

        Options -MultiViews

        Для файла wa-data/public/shop/products/thumb.php

        <?php

        $file = realpath(dirname(__FILE__)."/../../../../")."/wa-apps/shop/lib/config/data/thumb.php";

        if (file_exists($file)) {

        include($file);

        } else {

        header("HTTP/1.0 404 Not Found");

        }

        Добавить комментарий

        Чтобы добавить комментарий, зарегистрируйтесь или войдите