Php warning unlink cache php

Как исправить ошибку кэширования в Opencart

Делюсь на страницах своего блога решением некоторых проблем связанных с созданием сайтов. На этот раз обсудим как исправить ошибку кэширования в Opencart. Делал очередной интернет-магазин на опенкарт и столкнулся с двумя проблемами, одна из которых была связана с ошибкой кэширования.

Как исправить ошибку кэширования в Opencart 2

На странице оформления заказа, начали наблюдать, что совершенно рандомно вылазят ошибки такого вида:

Warning: unlink(/data/www/storage/cache/cache.catalog.language.1617446633): No such file or directory in /var/www/u433452/data/www/доменсайта/system/library/cache/file.php on line 68

При изменении адреса или при выборе способа оплаты и доставки, вообщем ошибка появлялась при ajax обновлении страницы без перезагрузки.

А также выходило всплывающее окно, с ошибкой:

Ошибка кэширования в Opencart

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

Но если мы делаем интернет-магазин, а делаем мы его для людей, то ни в коем случае нельзя оставлять как есть. Поэтому любой ценой этот баг должен был быть устранен.

Вообщем-то решение было найдено.

Как видим из ошибки, она указывает нам, что происходит некое действие в файле file.php, в строчке номер 68 и находится он по адресу /system/library/cache/file.php on line 68.

Заходим в него, открываем приложением Notepad++ и видим следующее:

На самом деле это не ошибка, а предупреждение и зависит оно от того, как настроено кеширование сервера.

На форумах многие пишут, как решить проблему:

  1. Написать хостинг провайдеру, якобы у них не правильно настроено кэширование.
  2. Увеличить место на хостинге, проблема из-за превышения лимита дискового пространства.

В моем случае ни то, не другое не помогло, а решением было следующее действо.

Дело в том, что при запросе php функции file_exists – сервер отвечает, что файл есть (в кеше сервера информация еще не обновилась), а на самом деле его нет. А в opencart эта функция кеша.

Просто поставьте @ перед unlink

  1. Открываем файл file.php
  2. Находим строчку unlink($file)
  3. Ставим @ перед unlink($file), чтобы получилось @unlink($file)
  4. Сохраняем файл.

Все проблема решилась такими не сложными действиями! Очень надеюсь что данная статья поможет многим из вас и сэкономит вам кучу времени! На этом у меня все, спасибо за чтение, спасибо можете написать в комментариях )

Источник

Ошибка с КЭШем. Помогите.

MishaVR4

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Войти

Уже зарегистрированы? Войдите здесь.

Похожие публикации

Помогите пожалуйста исправить эту ошибку

Помогите друзья

Помогите, пожалуйста!

Помогите с выбором VPS

Помогите понять что происходит

Сейчас на странице 0 пользователей

Покупателям

Разработчикам

Полезная информация

Последние дополнения

Движок интернет магазина OpenCart (ocStore) — официальный сайт OpenCartForum.com Powered by Invision Community

Раздел покупок

ocStore

Шаблоны

OpenCart.Pro

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.

.sale_block_img<>.sale_block_img .sale_block_img_grid<>.sale_block_img .sale_block_img_grid ul.sale_block_img .sale_block_img_grid ul li.sale_block_img .sale_block_img_grid ul li img

Источник

Русский форум Опенкарт

Всем привет!
Появилась такая ошибка:
2023-04-26 4:08:00 — PHP Warning: unlink(/home/d/. /cache/cache.catalog.language.1682485678): No such file or directory in /home/d/. /public_html/system/library/cache/file.php on line 68
Как её исправить?

mazein Разработчик дополнений Сообщения: 58 Зарегистрирован: 17.03.2022 Откуда: РФ Поблагодарил: 1 раз Спасибо: 11 раз

Сообщение mazein » 26 апр 2023, 11:26

spectrum Разработчик дополнений Сообщения: 41 Зарегистрирован: 10.03.2022 Мои дополнения: Spectrum Поблагодарил: 15 раз Спасибо: 14 раз

Сообщение spectrum » 26 апр 2023, 11:49

Victor писал(а): ↑ 26 апр 2023, 07:33 Всем привет!
Появилась такая ошибка:
2023-04-26 4:08:00 — PHP Warning: unlink(/home/d/. /cache/cache.catalog.language.1682485678): No such file or directory in /home/d/. /public_html/system/library/cache/file.php on line 68
Как её исправить?

Warning — это предупреждение. Конкретно приведённое вами означает, что штатный файловый кеш опенкарт не нашел ранее созданный файл. Файл может быть удален по разным причинам, в том числе и вами ручной чисткой или с помощью каких-либо модулей. На работу опенкарт это не повлияет.

AlexDW Разработчик дополнений Сообщения: 167 Зарегистрирован: 13.03.2022 Откуда: Екатеринбург Мои дополнения: alexdw Поблагодарил: 32 раз Спасибо: 54 раз

Сообщение AlexDW » 26 апр 2023, 12:20

Victor писал(а): ↑ 26 апр 2023, 07:33 PHP Warning: unlink(/home/d/. /cache/cache.catalog.language.1682485678): No such file or directory in /home/d/. /public_html/system/library/cache/file.php on line 68

обычно такое происходит при излишнем кешировании со стороны файловой системы
когда файл еще числится в кеше, а физически его уже нет

в файле system\library\cache\file.php
замените все
unlink($file);

на
if (!@unlink($file)) clearstatcache(true, $file);
>

и обновите кеш модификаторов для верности

Источник

Читайте также:  Php ассоциативный массив поиск
Оцените статью