- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите, пожалуйста. На сайте периодически в журнале ошибок появляется примерно такое:
Файл /system/library/cache/file.php выглядит в этом месте так:
Подскажите, из-за чего это и как это можно исправить? Заранее благодарен.
Подскажите, из-за чего это и как это можно исправить? Заранее благодарен.
Отсутствует файл, с которым должны производиться действия. Возможно, что файл должен создаваться ранее автоматически, может быть проблема в правах на папку, т.е. этот файл невозможно там создать из-под пользователя, из-под которого работает скрипт. Это или юзер apache может быть или юзер с именем вашего аккаунта FTP и т.д., смотря что за сервер/хостинг. Следовательно, нужно проверить права на эту самую папку, которая DIR_CACHE (storage/cache/) и разрешить в нее запись для нужного пользователя.
Вся остальная пачка проблем в том, что по определению проверяется не наличие открываемого файла, а лишь указание его имени. Имя приехало, файла на месте нет. Учитывая, что это кэш, он должен автоматом создаваться и обновляться. Так что, первым делом копайте в сторону прав на директорию, а если не поможет - нужно искать кто и где должен был создать этот файл ранее и уже там смотреть, почему не создался.
Алеандр , права на папку /system/library/cache/file.php стоят - 755, на сам файл file.php - 655.
Это правильно?
В коде явно напрашивается в `if` добавить проверку на наличие файла,
что-то типа `if ($files and array_key_exists(0, $files) and file_exists($files[0])) {`
+ проверить результат `fopen` на `false`.
Проверьте, может в новой версии cms/расширения это уже реализовано,
если нет, то напишите разработчикам и скиньте им этот лог с предупреждениями.
Кэш очистили руками когда шёл запрос к сайту вот и всё. Ничего страшного нет, нормальная работа.
В коде явно напрашивается в `if` добавить проверку на наличие файла,
А glob по вашему что делает? Из воздуха этот файл берёт? Это вам не самописная CMS.
Возможно, что файл должен создаваться ранее автоматически, может быть проблема в правах на папку, т.е. этот файл невозможно там создать из-под пользователя, из-под которого работает скрипт.
А вот типичное проявление глупость в рунете, лезьте с советами туда, в чём ничего не понимаешь. Классика!
А если и после fopen он исчезнет как быть? На каждую строчку писать условия проверки?
Такое поведение не стандартное для движка и вызвано "третьей стороной". Поэтому делать ничего не нужно.
Хотя можно сделать, рекомендую перевести на memcache или redis кэш, в разы бодрее будет работать движок.
> А если и после fopen он исчезнет как быть? На каждую строчку писать условия проверки?
Да.
С таким подходом можно и тесты не писать - а зачем?
> Такое поведение не стандартное для движка и вызвано "третьей стороной". Поэтому делать ничего не нужно.
Но это же происходит не один раз, а периодически, с этим надо что-то делать - перенести кэш в мемкеш норм вариант.
Если на такое забивать, то когда-нибудь в потоке такого мусорного шума будет пропущено важное.
> А если и после fopen он исчезнет как быть? На каждую строчку писать условия проверки?
Да.
С таким подходом можно и тесты не писать - а зачем?
> Такое поведение не стандартное для движка и вызвано "третьей стороной". Поэтому делать ничего не нужно.
Но это же происходит не один раз, а периодически, с этим надо что-то делать - перенести кэш в мемкеш норм вариант.
Если на такое забивать, то когда-нибудь в потоке такого мусорного шума будет пропущено важное.
> А если и после fopen он исчезнет как быть? На каждую строчку писать условия проверки?
Да.
Мде... сразу видно человека, который вообще никогда не работал с высоконагруженными проектами. Даже в голову не приходит вам, что каждая проверка = жор ресурса диска.
Благо вы не разработчик данной CMS.