Перейти к содержанию
vitalis

Постоянные ошибки

Рекомендуемые сообщения

В журнале ошибок :

PHP Warning: unlink(/home//domain/название домена/public_html/system/cache/cache.product.total.1.0.1.e6d0712475f2132e.1357157041) [<a href='function.unlink'>function.unlink</a>]: No such file or directory in /home//domain/название домена/public_html/system/library/cache.php on line 45

как исправить ? права на папки system cache и library стоят 777

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А файл cache.product.total.1.0.1.e6d0712475f2132e.1357157041 вообще существует? Посмотрите в папке кеша. Если существует то посмотрите права доступа на сам файл, возможно права доступа на сам файл неправильно выставляются при создании.

Если не существует то кто-то этот файл уже удалил раньше и команда unlink выдает предупреждение что такой файл не найден. Попробуйте перед unlik поставить символ @ это должно подавить вывод ошибки если файла не будет. Или добавить проверку перед удалением if (file_exists(имя файла)) { удаляем этот файл}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sv2109 сказал все правильно, но он не упомянул, что у Вас путь странный

/home//domain/название домена/public_html/system/cache/cache.product.total.1.0.1.e6d0712475f2132e.1357157041

Почему 2 слеша подряд? Это Вы так домен тактично вырезали или оно так и отображает? Есть оно так отображает, то похоже константа DIR_SYSTEM в конфигурационном файле содержит что-то не то, что надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

sv2109 сказал все правильно, но он не упомянул, что у Вас путь странный

Почему 2 слеша подряд? Это Вы так домен тактично вырезали или оно так и отображает? Есть оно так отображает, то похоже константа DIR_SYSTEM в конфигурационном файле содержит что-то не то, что надо.

слеш ошибочно два раза (некоректно затер, при редактировании сообщения) так как не показываю домен,

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А файл cache.product.total.1.0.1.e6d0712475f2132e.1357157041 вообще существует? Посмотрите в папке кеша. Если существует то посмотрите права доступа на сам файл, возможно права доступа на сам файл неправильно выставляются при создании.

Если не существует то кто-то этот файл уже удалил раньше и команда unlink выдает предупреждение что такой файл не найден. Попробуйте перед unlik поставить символ @ это должно подавить вывод ошибки если файла не будет. Или добавить проверку перед удалением if (file_exists(имя файла)) { удаляем этот файл}

кеш периодически удаляется поэтому такого файла могло и не быть

вы рекомендуете поставить символ @ в файле cache, в этом файле два раза встречается unlink, ставить @ перед каждым?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кеш периодически удаляется поэтому такого файла могло и не быть

вы рекомендуете поставить символ @ в файле cache, в этом файле два раза встречается unlink, ставить @ перед каждым?

Да

Но только что посмотрел код, проверка на наличие файла там присутствует:

if (file_exists($file)) {
 unlink($file);
}

Замените на

if (file_exists($file)) {
  @unlink($file);
}

Но если есть проверка то мне не понятно почему показывается ошибка что файл не найден если по логике функция unlink должна вызываться только тогда когда файл есть! Неужели 2 процесса почти одновременно запускают очистку того-же кеша (например сайт с большой посещаемостью)? Тогда проверка на наличие вернет true, файл удалит другой процесс и unlink выдаст ошибку что файла нету.

Изменено пользователем sv2109
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо sv2109! Заменил посмотрю как себя будет вести.

вот еще такая ошибка присутствует в журнале ошибок, не подскажите как избавится?

PHP Warning: utf8_to_unicode: Incomplete multi-octet sequence in UTF-8 at byte 67 in /home/domain/имя домена/public_html/system/helper/utf8.php on line 765

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот еще такая ошибка присутствует в журнале ошибок, не подскажите как избавится?

PHP Warning: utf8_to_unicode: Incomplete multi-octet sequence in UTF-8 at byte 67 in /home/domain/имя домена/public_html/system/helper/utf8.php on line 765

Подскажу, зайти в гугл и вбить туда текст этой ошибки, можно в конце дописать site:ru, и посмотреть что это за ошибка, когда она появляется и как от нее избавится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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