
Оптимизация очистки кеша DLE путём переноса функции удаления файлов с команд php на команды системы

Автор: MSW
Версия DLE: любая
Добавочные требования:
— выделенный сервер( алкая может и на хостинге будет вкалывать)
— включенная опция выполнения exec в php
Оптимизация очистки кеша DLE путём переноса функции удаления файлов с команд php на команды системы.
На данный момент очистка кеша в ДЛЕ происходит на функции пхп:
while ( $file = readdir( $fdir ) ) {
if( $file != ‘.’ and $file != ‘..’ and $file != ‘.htaccess’ and $file != ‘system’ ) {
if( $cache_area ) {
if( strpos( $file, $cache_area ) !== false ) @unlink( ENGINE_DIR . ‘/cache/’ . $file );
} else {
@unlink( ENGINE_DIR . ‘/cache/’ . $file );
}
}
}
из функции видно что читаем содержимое директории, проверяя не является ли файл директорией или другим файлом и т.д. а после удаляем если файл отвечает критериям проверки.
А почему бы для этого не посылая команду серверу?
Он то сделает это быстрее и не надо делать отсеивания на директории, ведь можно указать с каким расширением удалять файлы!
Решение:
Файл: /engine/modules/functions.php
Найти функцию очистки кеша:
function clear_cache($cache_area = false) {
$fdir = opendir( ENGINE_DIR . ‘/cache’ );
while ( $file = readdir( $fdir ) ) {
if( $file != ‘.’ and $file != ‘..’ and $file != ‘.htaccess’ and $file != ‘system’ ) {
if( $cache_area ) {
if( strpos( $file, $cache_area ) !== false ) @unlink( ENGINE_DIR . ‘/cache/’ . $file );
} else {
@unlink( ENGINE_DIR . ‘/cache/’ . $file );
}
}
}
}
Заменить на новую:
#****** Оптимизация от MSW ******#
function clear_cache($cache_area = false) {
if( $cache_area ) {
exec(«rm «.ENGINE_DIR.»/cache/{$cache_area}*.tmp»);
} else {
exec(«rm «.ENGINE_DIR.»/cache/*.tmp»);
}
}
#****** Оптимизация от MSW ******#
Проверяем: заходим в админку и жмём — очистить кеш, если размер кеша теперь 0 — значит всё работает!
Если не 0 — то в новой функции нужно заменить:
«.ENGINE_DIR.»
на полный путь к папке енжин, например: /var/www/my_site/engine/
Похожие записи
О комманде
Конечно же, невозможно запомнить все имеющиеся флаги для различных команд.…
Все что нужно для установки Linux Mint 17.1 вы найдете здесь
Linux Mint 17.1 с интерфейсом Cinnamon 2.4 вполне может именоваться…
Всё по порядку, загрузите, запишите, установите ОС
Далее, вам нужно будет загрузить соответствующий 32- или 64-битный установочный…
Руководство по установке программ в Linux
Установку программ в Linux производить довольно легко, в каком то…
Как установить Linux с жесткого диска
Самый простой способ для запуска ISO образа дистрибутива Linux с вашего…
Универсальный способ: Infra Recorder
Далее необходимо упомянуть о универсальном способе записи диска для всех…
Записываем Linux на диск из Linux
Для записи ISO-образов в каждом дистрибутиве Linux используется соответствующая программа.…
Установка Linux Mint c Windows
Будем производить совместную установку: linux mint c windows. Дистрибутив Mint, по…
Инструкция о том как записать Linux на диск
Данное руководство содержит несколько способов для записи Linux на диск,…
Статья для начинающих о том как установить Ubuntu 12.10
Установить Ubuntu стало намного проще, чем какую – либо версию…
Приступим к непосредственной записи дистрибутива Linux на оптический диск.
Сначала мы определяемся с размером ISO-образа и выбираем, либо CD…
Butterfly 3.0 — программа для поиска DLE сайтов
Butterfly 3.0 - Программа осуществляет поиск DLE сайтов по ключевым словам.В…
EasyBlog v3.0.8593 RUS
EasyBlog v3.0.8593 RUS для Joomla 1.5, 1.6, 1.7, 2.5 -…
Игровой макет (by Sving)
Тёмный игровой макет (далее…)
29 способов получить бесплатно ссылку на свой сайт
Что делать, если бюджет на покупку ссылок мал или вовсе…
7 способов seo-оптимизации сайта
1. Размещайте как можно больше уникального контента, в который включены…
Диалоговое окно
Это диалоговое окно идеально подходит для любого веб-сайта! Оно включает…
Редактор и компилятор LESS
LESS - инструмент, который помогает сохранить время и байты при…
DleMovie 1.3 nulled
DleMovie - уникальный в своём роде продукт для DataLife…
Game Island 9.4
Тематика: игры, развлечения, архивы игрШирина: статика, резинаТип шаблона: оригинал/слит/адаптацияДля версии…
YOOtheme Ambient v1.5.8 | Портал
Тема Joomla - YOOtheme Ambient v1.5.8 | Портал (далее…)
В октябре Google представит язык программирования Dart
Поисковой гигант Google на конференции Goto, который будет проходить 10–12…