Как почистить кеш сайта?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Как почистить кеш сайта?

Сообщение Kreng »

Как почистить кеш сайта? Ну что бы изменения ксс и джс файлов сразу вступали в силу.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

https://nix-tips.ru/yii2-api-guides/gui ... he-busting

или еще попробуйте

Код: Выделить всё

return [
    // ...
    'components' => [
        'assetManager' => [
            'forceCopy' => true,
        ],
    ],
];
https://nix-tips.ru/yii2-api-guides/yii ... opy-detail
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Код: Выделить всё

'components' => [
    'assetManager' => [
        'linkAssets' => true,
    ], 
]
Ещё такое есть. И вроде как оно и помогло.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

Kreng писал(а): 2017.08.26, 23:01

Код: Выделить всё

'components' => [
    'assetManager' => [
        'linkAssets' => true,
    ], 
]
Ещё такое есть. И вроде как оно и помогло.
На Windows системах вроде как проблемы с этим
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Перепроверил. Вот это работает.

Код: Выделить всё

       'assetManager' => [
            'appendTimestamp' => true,
        ],
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

Dominus писал(а): 2017.08.26, 23:31
Kreng писал(а): 2017.08.26, 23:01

Код: Выделить всё

'components' => [
    'assetManager' => [
        'linkAssets' => true,
    ], 
]
Ещё такое есть. И вроде как оно и помогло.
На Windows системах вроде как проблемы с этим
PHP Fatal Error – yii\base\ErrorException
Call to undefined function yii\web\symlink()

Когда переопределяю на свой jquery v3.2.1 то ошибки нет.

Код: Выделить всё

'components' => [
    'assetManager' => [
        'linkAssets' => true,
        'bundles' => [
              'yii\web\JqueryAsset' => [
                  'sourcePath' => '@vendor/components/jquery',   // do not publish the bundle
                  'js' => [
                      YII_ENV_DEV ? 'jquery.js' : 'jquery.min.js',
                  ]
              ],
        ],
    ], 
]
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Про 'appendTimestamp' => true,

Не, всё-таки оно кешит, притом как-то непонятно. То достаточно перезагрузить страницу, чтоб джс обновилось(ксс с лёту меняется), а то дак неск раз приходиться, порой у миниатюры подгружает новый вид, а у оригинальной картинки нет и наоборот, через неск перезагрузок всё видно. Хрень какая-то.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

'forceCopy' => true, // принудительно перезаписывает
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Код: Выделить всё

'forceCopy' => true,
С этим страница дико долго грузиться у меня. А можно ли вызвать эту штуку кодом? Ну чтоб в админке зафигачить кнопку.

Хотя страница грузит долго, всё равно миниатюра не обновилась сразу.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

Миниатюра не обновилась скорее всего из за кэша в самом браузере.
Что бы долго не грузилось, forceCopy включать не в конфиге, для всех assets, а только в нужном.

Код: Выделить всё

//...
public $publishOptions = [
    'forceCopy'=>true,
];
//...
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Так и никак не очистить везде? Просто вот админ заменил картинки, например, надо же их сразу показывать новыми. А куда эту переменную, не понял, оно ведь в web
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

Не кэшировать их. Загружать в frontend/web/upload/...
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Я сохраняю банальным
$file->image->saveAs( $pathFile );
Что можно прописать, что бы не кешировало?
п.с У меня basic шаблон.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

Это не кэширует, а сохраняет файл по пути $pathFile.

Код: Выделить всё

$file->image->saveAs( $pathFile );
Когда админ меняет картинку, он же её заменяет по этому же пути.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

В общем, такие дела

appendTimestamp
отрубает кеш ксс файлов.

linkAssets
отрубает кеш картинок.

'class' => 'yii\web\AssetManager',
'forceCopy' => true,
долго грузит, но отрубает кеш js(и только его, остальное кешится)

Но если написать всё вместо, то все кеши отрубаются и сайт по-прежнему быстро грузится, однако почему-то миниатюра не обновляется

Код: Выделить всё

     
        'assetManager' => [
            'class' => 'yii\web\AssetManager',
            'forceCopy' => true,
            'appendTimestamp' => true,
            'linkAssets' => true,
        ],
 
Последний раз редактировалось Kreng 2017.08.30, 12:49, всего редактировалось 2 раза.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

Код: Выделить всё

<?php

namespace frontend\assets;

use Yii;
use yii\web\AssetBundle;

/**
 * Class ExampleAsset
 * @package frontend\assets
 */
class ExampleAsset extends AssetBundle
{
    public $sourcePath = '@app/assets/src';

    public $css = [
        'css/main.css',
        //...
    ];
    public $js = [
        'js/headroom.min.js',
        //...
    ];

    public $depends = [
        'yii\web\YiiAsset',
        //...
    ];
   
    public $publishOptions = [
        'forceCopy' => true,  // Принудительно публиковать ресурсы из этого Asset
    ];
}
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Dominus, дак так оно везде грузит, а мне надо файлы грузить на конкретных страницах. А ещё я попробовал твоё, джс не кешит, файлы не еншит, но ксс кешит опять.
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Хотя сейчас и их уже не кешит. Короче, хз. Твоё решение работает. Спасибо.

п.с только что в basic путь другой
public $basePath = '@webroot';
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как почистить кеш сайта?

Сообщение Dominus »

Про картинки я говорил выше, их возможно кэширует сам браузер, что бы сменились картинки, страницу надо обновить, а не перейти по ссылке по этому же адресу. При переходе по ссылке страница подгружается из кэша браузера, поэтому картинки могут сразу не обновиться.
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Kreng
Сообщения: 202
Зарегистрирован: 2017.02.16, 10:11

Re: Как почистить кеш сайта?

Сообщение Kreng »

Dominus,я проверил. При описанных способах выше оно сразу менялось. При твоём как-то раз через раз именно с миниатюрами(сама картинка в колорбоксе меняется), непонятно.
Ответить