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

Оптимизация очистки кеша DLE

Оптимизация очистки кеша DLE

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

Оптимизация очистки кеша DLE

Автор: MSW
Версия DLE: любая


Добавочные требования:

— выделенный сервер( алкая может и на хостинге будет вкалывать)
— включенная опция выполнения exec в php

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

На данный момент очистка кеша в ДЛЕ происходит на функции пхп:

$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 );

}
}
}

из функции видно что читаем содержимое директории, проверяя не является ли файл директорией или другим файлом и т.д. а после удаляем если файл отвечает критериям проверки.

А почему бы для этого не посылая команду серверу?
Он то сделает это быстрее и не надо делать отсеивания на директории, ведь можно указать с каким расширением удалять файлы!

Решение:
Файл: /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/

.
Ноябрь 2024
Пн Вт Ср Чт Пт Сб Вс
 123
45678910
11121314151617
18192021222324
252627282930