Однажды, после переноса сайта на 1С Битрикс появилась проблема – файлы перестали загружаться. Сайт переносил хостер так как тогда я не работал с Битриксом. После переноса появилась ошибка «Ошибка! Временная папка не существует» или не создан временный каталог для загрузки Битрикс.
Как решить проблему
Итак, в Битрике как во многих CMS (системах управления контентом) существует временная папка для загрузки файлов – tmp.
Путь к данной папке прописан в файле dbconn.php, сам файл находится в :
Открываем файл и видим в самом низу строку
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 – пользователь:группа в которую входит пользователь.
После чего все должно работать. Если у вас остались вопросы или что-то пошло не так, задавайте вопросы в комментариях.
Не создан временный каталог для загрузки
Вопрос:
Пытаюсь добавить в новый элемент инфоблока картинку, получаю ошибку: Не создан временный каталог для загрузки.
Решение:
Проверить права доступа к папке для временных файлов.
Проверить в файле – /bitrix/php_interface/dbconn.php настройку параметра
P.S. Указывается абсолютный путь к папке на хостинге. Например /var/www/site/php-tmp/
Можно попробовать закомментировать строку define("BX_TEMPORARY_FILES_DIRECTORY", ". ");, «Битрикс» должен будет взять настройку из настроек сервера.
После переноса сайта на другой хостинг, Bitrix перестал сохраняются/обновлять превью и детальное изображение (PREVIEW_PICTURE и DETAIL_PICTURE)
Ошибок не выдает, права на все по максимуму.
Проблема оказалась в том, что у битрикса, в файле /bitrix/php_interface/dbconn.php, "гвоздями прибит" путь до темповой директории:
Как не странно указание верного пути тоже не помогло.
Решение: закомментировать данную строку: