Однажды, после переноса сайта на 1С Битрикс появилась проблема – файлы перестали загружаться. Сайт переносил хостер так как тогда я не работал с Битриксом. После переноса появилась ошибка «Ошибка! Временная папка не существует» или не создан временный каталог для загрузки Битрикс.
Как решить проблему
Итак, в Битрике как во многих CMS (системах управления контентом) существует временная папка для загрузки файлов – tmp.
Путь к данной папке прописан в файле dbconn.php, сам файл находится в :
имя_сайта/bitrix/php_interface
Открываем файл и видим в самом низу строку
define(«BX_TEMPORARY_FILES_DIRECTORY», «тут будет прописан путь к временной папке»); например /bitrix/tmp
Далее необходимо убедится в том, что такая папка существует.
Если временная папка не существует
Создаем папку, где создавать – смотрим в пути. Владельцем папки должен быть пользователь который устанавливал (или переносил) сайт. Обычно это не root, а bitrix. Права для папки – 0755.
В принципе папку можно создать где вам угодно, после чего скопировать путь и прописать его в BX_TEMPORARY_FILES_DIRECTORY.
Если папка существует – смотрим права и владельца.
Бывают случаи когда владелец сайта один пользователь, но файлы переносились под учеткой root пользователя. В таком случае подключаемся к серверу через консоль SSH, и выполняем следующие команды:
find /home/bitrix/www -type f -exec chown bitrix:bitrix {} \;
find /home/bitrix/www -type d -exec chown bitrix:bitrix {} \;
find /home/bitrix/www -type f -exec chmod 644 {} \;
find /home/bitrix/www -type d -exec chmod 755 {} \;
Где:
- /home/bitrix/www – это путь до вашего сайта,
- -type f … — назначение прав,
- bitrix:bitrix – пользователь:группа в которую входит пользователь.
После чего все должно работать. Если у вас остались вопросы или что-то пошло не так, задавайте вопросы в комментариях.