Почему после оптимизации производительности сервера изменения в программном коде могут применяться с задержкой и как этого избежать?

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Алексей Лазарев
  • Группа: Пользователь
  • Сообщений: 143
  • Регистрация: 19.11.2011

20.08.2012 23:08

Без ру сборки код отлично работает

app/design/frontend/mytheme/default/template/catalog/product/list/toolbar.phtml
Часть кода
        <fieldset class="sort-by">
        <label><?php echo $this->__('Sort by') ?></label>
        <select onchange="setLocation(this.value)">
            <option value="<?php echo $this->getOrderUrl('position', 'asc') ?>"<?php if($this->isOrderCurrent('position') && $this->getCurrentDirection() == 'asc'): ?> selected="selected"<?php endif; ?>>
                Featured
            </option>
            <option value="<?php echo $this->getOrderUrl('price', 'asc') ?>"<?php if($this->isOrderCurrent('price') && $this->getCurrentDirection() == 'asc'): ?> selected="selected"<?php endif; ?>>
                Lowest Price
            </option>
            <option value="<?php echo $this->getOrderUrl('price', 'desc') ?>"<?php if($this->isOrderCurrent('price') && $this->getCurrentDirection() == 'desc'): ?> selected="selected"<?php endif; ?>>
                Highest Price
            </option>
            <option value="<?php echo $this->getOrderUrl('name', 'asc') ?>"<?php if($this->isOrderCurrent('name') && $this->getCurrentDirection() == 'asc'): ?> selected="selected"<?php endif; ?>>
                Name A-Z
            </option>
            <option value="<?php echo $this->getOrderUrl('name', 'desc') ?>"<?php if($this->isOrderCurrent('name') && $this->getCurrentDirection() == 'desc'): ?> selected="selected"<?php endif; ?>>
                Name Z-A
            </option>
            <option value="<?php echo $this->getOrderUrl('entity_id', 'desc') ?>"<?php if($this->isOrderCurrent('entity_id') && $this->getCurrentDirection() == 'desc'): ?> selected="selected"<?php endif; ?>>
                Newest to Oldest
            </option>
            <option value="<?php echo $this->getOrderUrl('entity_id', 'asc') ?>"<?php if($this->isOrderCurrent('entity_id') && $this->getCurrentDirection() == 'asc'): ?> selected="selected"<?php endif; ?>>
                Oldest to Newest
            </option>
           </select>
        </fieldset>


С ру сборкой не работает. Сам не смог догадаться, что его блокирует?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

20.08.2012 23:09

Какое конкретно состояние системы вы обозначили техническим термином «не работает»?

#3 Алексей Лазарев
  • Группа: Пользователь
  • Сообщений: 143
  • Регистрация: 19.11.2011

21.08.2012 00:23

«Не работает» - не происходит никаких изменений.


Без ру сборки
Прикрепленное изображение: Untitled-1.jpg

С ру сборкой
Прикрепленное изображение: Untitled-2.jpg

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

21.08.2012 00:26

Так не бывает.
Дайте конкретные ссылки в том и в другом случае.

#5 Алексей Лазарев
  • Группа: Пользователь
  • Сообщений: 143
  • Регистрация: 19.11.2011

21.08.2012 00:28

без ру сборки
http://krushal.msk.ru/d-n-d-n-d-d-n-d-n-d-d-d-d-d-d-n-d-d-d-d-d-d/d-d-n-n-d-n-n-d-d-d-d-d-d/n-n-n-d-d-d-d-d.html


с ру сборкой
http://bonmix.ru/мужская-брендовая-одежда.html


кэширование отключено на обоих сайтах

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

21.08.2012 00:50

У вас на bonmix.ru настроено кэширование APC в режиме apc.stat=0.
В этом режиме интерпретатор PHP работает быстрее, чем при apc.stat=1, но при этом кэш APC не всегда обновляется сразу при изменениях в файловой системе.
Поэтому если файлы изменились, а система ведёт себя по-прежнему, надо сбросить кэш APC вручную.
Для этого надо зайти на сервер по протоколу SSH от лица root и выполнить команду
/etc/init.d/php5-fpm restart

На период разработки можно также временно перевести APC в режим apc.stat = 1.
Для этого надо зайт на сервер по протоколу FTP от лица root и в файле /etc/php5/conf.d/apc.ini строку apc.stat=0 заменить на apc.stat=1, после чего перезапустить интерпетатор PHP:
/etc/init.d/php5-fpm restart


#7 Алексей Лазарев
  • Группа: Пользователь
  • Сообщений: 143
  • Регистрация: 19.11.2011

21.08.2012 00:54

Благодарю ! Догадывался что это apc ...

Поделиться темой: