Пару дней назад столкнулись с проблемой:
движок (версия 1.5.4.1) при создании файлов в кеше (изображения) прописывает им не те права. что должен бы, а именно: папки создаются с правами доступа 700, а файлы 600
В итоге пользователи не видят картинки.
Что было сделано:
1. проверена umask на сервере - никто не менял., 022 стоит.
2. В процедуре сохранения файлов (system/library/image.php/save) было принудительно прописано chmod($file, 644)
3. В процедуре ресайза изображений., где ветка copy аналогично (catalog/controllet/tool/image.php/resize)
4. от бехысходности поставил права на всю папку image 777
Именно эти шаги не помогают.
При этом, когда я только сделал шаги 2 и 3 - все заработало. Но сейчас снова не работает.
как выглядит: стираешь какой-нибудь файл из кеша, обновляешь страницу с товаром - в кеше файл появился, права 600
Помогает только подключении по ssh и прописывание нужных прав chmod'ом.
Что посоветуете?
PS системные (system) файлы движка не менялись. Может быть были какие-то изменения в файлах контроллер и админ, но не касающиеся работы с изображением. . И все изменения проверяются. В логе ошибок - проблем именно по этой части нет.
PPS что еще важно: файлы в корне сервера (логи работы скриптов, запускаемых через cron) имеют права 644, т.е. ок. аналогично, если создать дирректорию через ssh командой mkdir - права будут в порядке 755
другие файлы, создающиеся через php - права 600 (например у меня создается файл, если были внесены изменения в количество товаров, лог изменений)