Хостинг. кеширование ФС сервера

tekhno-dom.ru
6 років
0
Довольно часто возникают ошибки вида
<b>Warning</b>: unlink(/home/----l/www/system/storage/cache/cache.product.seopath.1513341055): No such file or directory in <b>/home/----/www/system/library/cache/file.php</b> on line <b>68</b>
фрагмент кода:
publicfunction delete($key){
                $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');

                if($files){
                        foreach($filesas$file){
                                if(file_exists($file)){
это стр.68 ->         unlink($file);
                                }
                        }
                }
        }


умные люди в интернете говорят что это изза хостинга
Суть в чем... скрипт кеша делает проверку
- Есть ли такой файл кеша
ФС хостера бодро рапортует (беря данные из своего кеша)
- Да есть!
Скрипт
- Удаляю
ФС хостера
- Я обманула: нету его давно уже, я "думала" он есть

Т е не правильно настроено кеширование ФС сервера, это баян у хостеров уже. Пользователи обращаются в тех. поддержку хостера и они исправляют.

opencartforum.com/topic/64095-postoyannye-oshibki-pomogite-reshit-problemu/
rudenko
6 років
2
1. Попробуйте добавить вызов clearstatcache() после конструкции if ($files) php.net/manual/ru/function.clearstatcache.php
2. file_exists использовать с unlink неправильно, так как в случае, если это директория то оно вернет true, а unlink работает только с файлами. Необходимо использовать is_file()
5am
3 роки
0
Спасибо большое rudenko, помогло, вроде не появляется, многократно обновил страницу
Тема закрита.