2016-06-09 3 views
1

Я запрограммировал свой сайт Yii2. Когда я обновляю свой сайт, он работает как Ctl + F5, а все font awesome и весь кеш моего сайта снова загружаются. Кажется, мне нравится открывать страницу в первый раз.Почему каждая обновляющая страница перезагружается снова?

Link of my website

ответ

4

Добавить, это в конфигурации файл. В соответствии с вашими потребностями.

$ linkAssets

ли использовать символические ссылки для публикации файлов активов. По умолчанию false, то есть файлы активов копируются в $ basePath. Использование символических связей имеет то преимущество, что опубликованные активы всегда будут в соответствии с исходными активами, и нет операции копирования . Это особенно полезно при разработке.

'components' => [ 
    'assetManager' => [ 
     'linkAssets' => true, 
    ], 
] 

Или

$ FORCECOPY

каталог публикуется ли должен быть скопирован, даже если она находится в целевом каталоге. Этот параметр используется только тогда, когда публикует каталог. Возможно, вы захотите установить это значение в течение этапа разработки , чтобы убедиться, что опубликованный каталог всегда обновлен. Не устанавливайте значение true на рабочих серверах, так как оно будет значительно ухудшить производительность.

'components' => [ 
    'assetManager' => [ 
     'forceCopy' => true, 
    ], 
] 

Для получения дополнительной информации, пожалуйста, нажмите эти полезные ссылки

  1. Link Assets - Yii2 Asset Manager
  2. Force Copy - Yii2 Asset Manager
  3. Assets-Clear-Cache - Yii2 (Stack Overflow)

Или

As, я использую Yii2-App-Basic. Итак, Мои активы создаются в ROOT/web/assets folder. Итак, я вручную ударил это действие, чтобы очистить кеш. Это не лучший способ очистить кеш. Несмотря на это, это полезно на время.

Эта функция была создана в SiteController.php.

И, я ударил URL Как: MyWebsite.com/site/clear-cache.

<? 
public function actionClearCache(){ 
    $cacheDirPath = $_SERVER['DOCUMENT_ROOT'].'/assets'; 
    if($this->destroy_dir($cacheDirPath, 0)){ 
    Yii::$app->session->setFlash('success', 'Cache cleared.'); 
    } 
    return $this->render('some-page'); 
} 

private function destroy_dir($dir, $i = 1) { 
    if (!is_dir($dir) || is_link($dir)) 
    return unlink($dir); 
    foreach (scandir($dir) as $file) { 
    if ($file == '.' || $file == '..') continue; 
    if (!$this->destroy_dir($dir . DIRECTORY_SEPARATOR . $file)) { 
     chmod($dir . DIRECTORY_SEPARATOR . $file, 0777); 
     if (!$this->destroy_dir($dir . DIRECTORY_SEPARATOR . $file)) 
     return false; 
    }; 
    } 
    if($i == 1)return rmdir($dir); 
    return true; 
} 
+0

Танки для вашего ответа, но я не прошу очистить кеш, даже я не хочу очищать наличные деньги при каждом обновлении. –

+0

So. Что вы хотите @MohammadAghayari –

+0

Моя веб-страница автоматически перезагружает весь кеш при каждом обновлении. но я не хочу каждый раз перезагружать кеш. –

Смежные вопросы