Возникла следующая ошибка на движке ocStore 3.0.2.0
Warning: file_put_contents(): Only 0 of 72 bytes written, possibly out of free disk space in /home/xxxxx/xxxxx/public_html/vqmod/vqmod.php on line 151
Аааа караул, что делать??? я только настроил чпу и это никак не могло повлиять на возникновение ошибки, или наверно никак )
Включаем мозг и начинаем анализировать.
Для начало что вообще это за ошибка?
Прикинемся что не знаем англицого и переводим на рус
Предупреждение: file_put_contents (): записано только 0 из 72 байтов, возможно, недостаточно свободного места на диске в /home/xxxxx/xxxxx/public_html/vqmod/vqmod.php в строке 151
Ура!!! уже понятней, мало места на диске, и что ?
Поискав на просторах инета информацию, находим что таки да, она возникает из-за:
- нехватки места на диске
- ошибок доступа
- ошибок в выделенных ресурсах в php.ini (мало выделили)
- даже из-за настроек MySQL
Поиск причины возникновения ошибки
Находим файл, который указан в тексте ошибки и переходим на указанную строчку в файле.
Это файл vqmod.php строка 151
. . . file_put_contents(self::path(self::$checkedCache, true), $stripped_filename . PHP_EOL, FILE_APPEND | LOCK_EX); . . .
file_put_contents — делает запись данных в файл
определяем, в какой файл записываются данные
. . . echo self::path(self::$checkedCache, true); exit; file_put_contents(self::path(self::$checkedCache, true), $stripped_filename . PHP_EOL, FILE_APPEND | LOCK_EX); . . .
В результате получаем путь к файлу
/home/xxxxx/xxxxx/public_html/vqmod/checked.cache
Находим его и смотрим, что с ним не так, вообще это файл кеша. Как оказалось файл был 4,3мб, вроде и не такой и большой но все же.
Удаляем его, и обновляем страницу сайта, данный файл создается автоматически, так что можете не переживать что вы удалите.
Вуаля — ошибка пропала, можно взять пирожок с полки.
Но данная ошибка может опять появится, если файл опять достигнет заданного размера. Как изменить лимит на предельный размер файла я пока не искал, но это уже будет другая повесть.