Ошибка временная папка не существует битрикс

Однажды, после переноса сайта на 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 – пользователь:группа в которую входит пользователь.

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

Используя сайт abuzov.ru, вы даете согласие на работу с cookie, Яндекс.Метрикой, Google Analytics для сбора технических данных.OKПодробнее

Пытаюсь загрузить на сайт изображение, но bitrix пишет что не создан временный каталог для загрузки.

в phpinfo показывает что временный каталог /tmp/php_upload/www
проверяю на хостинге, папка существует.

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

Погугли пока ничего не помогает, дал права на папки, каталог вроде есть, как быть ?

Обновлено Обновлено: 13.04.2023
Опубликовано Опубликовано: 19.08.2019

Есть несколько способов установить CRM Битрикс24 — развернуть готовую виртуальную машину BitrixVM или установить коробку с помощью готового веб окружения. В данной инструкции мы будем использовать второй метод.

Установка веб-окружения
Установка Битрикс24
Доступ к порталу по https
Добавление еще одного типа сайта
Настройки после установки
Настройка кэширования
Обновление PHP
Решение возможных проблем

Установка битрикс окружения

Битрикс24 является веб приложением и для своей работы требует установленного и настроенного веб-сервера. Для этого у 1С есть готовый скрипт — нам просто нужно его загрузить и запустить.

И так, скачиваем скрипт:

yum install wget

wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh

* первая команда установит утилиту wget, если ее нет.

Даем права скрипту на выполнение:

chmod +x bitrix-env.sh

… и запускаем его:

./bitrix-env.sh

Мы увидим приветствие, в котором говорится, что на все вопросы по умолчанию будет ответ «Да» (Yes) и при необходимости ответить «Нет» нужно ввести n. Также скрипт должен быть запущен от пользователя root:

====================================================================
Bitrix Environment for Linux installation script.
Yes will be assumed as a default answer.
Enter ‘n’ or ‘no’ for a ‘No’. Anything else will be considered a ‘Yes’.
This script MUST be run as root, or it will fail.
====================================================================

… и следом, если на сервере работает SELinux, первый вопрос — согласны ли мы его отключить. Отвечаем утвердительно, нажав Enter:

You have to disable SElinux before installing Bitrix Environment.
Do you want to disable SELinux?(Y|n)

Скрипт вернет ответ, что SELinux выключен и потребует перезагрузки сервера:

SELinux status changed to disabled in the config file /etc/selinux/config.
SELinux status changed to disabled in the config file /etc/sysconfig/selinux.
Please reboot the system! (cmd: reboot)

… перезагружаем (если отключали SELinux):

shutdown -r now

После перезагрузки снова запускаем скрипт:

./bitrix-env.sh

* перед этим необходимо перейти в каталог, куда мы его скачивали.

Начнется процесс установки обновлений, загрузки пакетов и развертывания необходимого программного обеспечения — просто ждем.

В конце мы должны увидеть следующее:

Bitrix Environment bitrix-env has been installed successfully.

Смотрим пароль для подключения к базе mysql:

cat /root/.my.cnf

Мы увидим что-то на подобие:


password=’3XJ2|~HnBJB7jsS~L8F7′

* где 3XJ2|~HnBJB7jsS~L8F7 — пароль для подключения к базе данных.

Веб-окружение установлено.

На момент обновления данной инструкции, вместе с окружением битрикс устанавливался PHP версии 7.4. Однако в панели Битрикс24 система пишет оповещение о прекращении поддержки данной версии. Необходимо вручную обновить интерпретатор.

Обратите внимание на 2 важных момента, которые произойдут в системе:

  1. Для пользователя root будет установлен флаг о необходимости сменить пароль при следующем входе.
  2. Утилита управления брандмауэром firewalld будет удалена. Использовать нужно будет iptables.

Установка Битрикс24

Открываем браузер и переходим по ссылке https://<IP-адрес сервера>/bitrixsetup.php — откроется окно приветствия. Меняем язык на русский и кликаем по кнопке Установить:

Начинаем установку Битрикс24

В открывшемся окне выбираем дистрибутив 1С-Битрикс24 и демонстрационную версию (если у нас есть ключ, то можно выбрать коммерческую лицензию и ввести его), после нажимаем по кнопке Загрузить:

Выбираем дистрибутив и демонстрационную версию продукта

… начнется процесс загрузки дистрибутива. После его окончания откроется мастер установки — на первой странице принимаем лицензионное соглашение и нажимаем Далее:

Принимаем лицензионное соглашение при установке

На странице «Регистрация продукта» можно снять галочку для заполнения формы регистрации:

Регистрация Битрикс24 при его установке

Начнется процесс установки Битрикс24. Ждем — откроется окно создания учетной записи администратора. Заполняем веб-формы и кликаем Далее.

Откроется страница настройки портала. Кликаем Далее до пункта «Настройка Битрикс24» — отмечаем нужные нам галочки и кликаем Установить:

Настройка портала перед установкой

Откроется последняя страница — нажимаем по Перейти в Битрикс24. Установка завершена.

Настройка HTTPS

Для корректной работы портала необходимо на него заходить по https, а для этого нужен сертификат. Мы рассмотрим пример получения бесплатного сертификата от Let’s Encrypt. Подробнее в статье Получение бесплатного SSL сертификата Let’s Encrypt.

Открываем на редактирование файл:

vi /etc/nginx/bx/site_enabled/s1.conf

В раздел server добавляем следующее:

server {
        …
        location ~ /.well-known {
                root /usr/share/nginx/html;
                allow all;
        }
        …
}

Открываем второй файл:

vi /etc/nginx/bx/site_enabled/ssl.s1.conf

Также добавим:

server {
    …
    location ~ /.well-known {
        root /usr/share/nginx/html;
        allow all;
    }
    …
}

* данная настройка укажет веб серверу искать файлы в каталоге /usr/share/nginx/html, если мы обратимся к странице /.well-known.

Если у нас несколько сайтов, данную операцию нужно повторить для конфигурационных файлов всех этих сайтов. Они находятся в каталоге /etc/nginx/bx/site_enabled.

Проверяем корректность настройки NGINX и если ошибок нет, перезапускаем службу:

nginx -t && nginx -s reload

Устанавливаем утилиту certbot:

yum install certbot

С помощью даннай утилиты получим сертификат:

certbot certonly —webroot —agree-tos —email postmaster@dmosk.ru —webroot-path /usr/share/nginx/html/ -d bitrix.dmosk.ru

* в данном примере мы запрашиваем сертификат для домена bitrix.dmosk.ru. Предполагается, что именно на нем у меня работает битрикс.

Теперь открываем файл:

vi /etc/nginx/bx/conf/ssl.conf

Редактируем значения для ssl_certificate и ssl_certificate_key:

ssl_certificate         /etc/letsencrypt/live/bitrix.dmosk.ru/fullchain.pem;
ssl_certificate_key     /etc/letsencrypt/live/bitrix.dmosk.ru/privkey.pem;

* в данном примере мы указываем пути до полученных сертификатов. Где bitrix.dmosk.ru — имя нашего сайта, для которого был получен сертификат.

Перезапускаем nginx:

systemctl restart nginx

Можно открывать портал по доменному имени по https.

Для автоматической переадресации с http на https в корне каталога с сайтом создаем файл .htsecure. В нашем примере, сайт находится в каталоге /home/bitrix/www:

touch /home/bitrix/www/.htsecure

И зададим в качестве владельца созданного файла пользователя bitrix:

chown bitrix:bitrix /home/bitrix/www/.htsecure

Добавление другого типа сайта

На первом этапе мы выбрали установку и настройку CRM-системы. Вы могли выбрать Интернет-магазин или обычный сайт. Так или иначе, нам может понадобиться на том же сервере развернуть новый тип веб-приложения.

Для этого заходим на сервер по SSH. Если мы зашли не под пользователем root, вводим команду:

/root/menu.sh

Если мы заходим в данное меню впервые, система запросит установить пароль для пользователя bitrix — вводим его дважды.

Создаем пул для управления:

Available actions: 
                  1. Create management pool on the server
                  2. Configure localhost settings
                  0. Exit.

Enter your choice: 1

Вводим домен для портала, который будет крутиться на новом пуле:

Please enter master server name (default: bitrix.dmosk.ru): shop.dmosk.ru

Мы должны увидеть сообщение, что пул успешно создан:

Pool has been created successfully. Please enter any key

Нажимаем Enter — загрузится меню управления и выбираем управление пулом сайтов:

Available actions: 
                 1.  Manage servers in the pool
                 2.  Configure localhost settings
                 3.  Configure MySQL service for the pool
                 4.  Configure Memcached service for the pool
                 5.  Configure pool monitoring
                 6.  Configure pool sites
                 7.  Configure Sphinx service for the pool
                 8.  Manage pool web servers
                 9.  Configure Push/RTC service for the pool
                 10. Background pool tasks
                 11. Configure Transformer service
                 0.  Exit.

Enter your choice: 6

Теперь создаем новый сайт:

Available actions: 

                 
        1.  Create a site
        2.  Delete a site
        3.  Change a site’s cron settings
        4.  Change a site’s email settings
        5.  Change a site’s https settings
        6.  Change a site’s backup settings
        7.  Configure NTLM auth for sites
        8.  Configure optional services (xmppd|smtpd) for a site
        9.  Configure nginx to use composite cache
        10. Configure additional site’s options
        0. Previous screen or exit

Enter your choice: 1

Вводим имя сайта (доменное):

Enter the site name (e.g. example.org) or 0 to exit: shop.dmosk.ru

Теперь необходимо ввести kernel, чтобы создать новый сайт с отдельной базой данных:

The following site types are available:
      link — the new site will share database and kernel files with an existing site; 
                     web server configuration files will be created
    kernel — the new site will have a dedicated database 
                     and a private set of kernel files;
                     web server configuration files will be created
ext_kernel — the new site will have a dedicated database and a private set of kernel files; 
                     it will not be accessible from the web
Default: link

Enter site type (link|kernel|ext_kernel): kernel

Выбираем кодировку:

Enter site encoding (UTF-8|windows-1251): UTF-8

Разрешаем cron:

Do you want to enable cron for this site? (N|y) y

Теперь система предложит изменить параметры базы данных и пользователя. Если есть желание, можно их изменить, но в моем примере мы ответим нет:

Do you want to customize them? (N|y) n

Готово. Теперь в браузере переходим по адресу созданного сайта, в данном примере, http://shop.dmosk.ru — откроется окно, в котором можно создать новый портал, по инструкции, описанной выше.

Настройка (проверка системы)

Для правильной работы портала необходимы дополнительные настройки системы. Анализ ошибок и предупреждений при настройке можно получить на странице НастройкиИнструментыПроверка системы.

Попробуем рассмотреть некоторые из ошибок и способы из решения.

1. Работа с сокетами

Является основной настройкой для портала, так как на ее основе строится много других провером. Нет смысла продолжать работу с Битрикс24, если при проверке работы с сокетами система возвращает ошибку.

Для корректной работы необходимо:

  1. Перейти на использование https с настройкой корректного сертификата.
  2. Установить (обновить) корневые центры сертификации.

После данных действий проверка должна пройти корректно.

2. Выполнение агентов на cron

Чтобы портал мог выполнять фоновые задания, необходимо настроить cron.

Открываем конфигурационный файл:

vi /home/bitrix/www/bitrix/php_interface/dbconn.php

Проверяем, чтобы была строка: 

define(‘BX_CRONTAB_SUPPORT’, true);

Открываем на редактирование crontab (для пользователя bitrix):

crontab -e -u bitrix

Добавляем задание:

* * * * * /usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php

* в данном примере мы запускаем на исполнение скрипт /home/bitrix/www/bitrix/modules/main/tools/cron_events.php каждую минуту.

Если не заработает, переходим в панели Битрикс в раздел Настройки — Инструменты — Командная PHP-строка и вводим команду:

COption::SetOptionString(«main», «agents_use_crontab», «Y»);
COption::SetOptionString(«main», «check_agents», «Y»);

3. Битрикс24.Диск. Быстрая работа с файлами

Переходим в раздел НастройкиНастройки продуктаНастройка модулей. Мы окажемся в разделе «Главный модуль». В подразделе «Файлы» ставим галочку Быстрая отдача файлов через Nginx:

Включаем быструю отдачу файлов через NGINX

Нажимаем Применить.

4. Настройка почтовых уведомлений

Для отправки почты прочитайте инструкцию Настройка корректной отправки почты в Битрикс24.

5. Сервер очередей Push and Pull

Переходим в раздел Настройки продуктаНастройки модулей. Выбираем в настройках Push and Pull:

Выбираем настройку Push and Pull

В разделе Использовать «Push server» выбираем Использовать облачный сервер «1С-Битрикс» и кликаем по кнопке Зарегистрироваться:

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

6. Параметры настройки UTF (mbstring и константа BX_UTF)

Открываем файл:

vi /etc/php.d/bitrixenv.ini

Необходимо убедиться в наличие строк:

; Utf-8 support
default_charset = UTF-8
mbstring.func_overload=2

Перезапускаем сервис:

systemctl restart httpd

7. Временная папка не существует

У нас могут не проходить тесты загрузки файлов с ошибкой Ошибка! Временная папка не существует (BX_TEMPORARY_FILES_DIRECTORY: /home/bitrix/tmp/bak). Где /home/bitrix/tmp/bak — конкретный путь к каталогу, каторого нет.

Для решения проблемы просто создадим данный каталог:

mkdir -p /home/bitrix/tmp/bak

И задаем права:

chown bitrix:bitrix /home/bitrix/tmp/bak

Настройка кеширования

Для увеличения производительности, стоит настроить кэширование. У нас на выбор разные технологии для настройки кэширования:

  • apc
  • files
  • redis
  • xcache
  • memcache

Мы рассмотрим пример с memcache. Для начала, устанавливаем его:

yum install memcached php-pecl-memcached

Откроем конфигурационный файл memcached:

vi /etc/sysconfig/memcached

Отредактируем некоторые директивы:

CACHESIZE=»1024″
OPTIONS=»-t 8″

* где:

  • CACHESIZE — используемый объем памяти.
  • OPTIONS=»-t 8″ — разрешить 8 потоков.

Разрешаем автозапуск сервиса и запускаем его:

systemctl enable memcached —now

Перезапускаем веб-сервер apache:

systemctl restart httpd

тобы убедиться в этом, вводим следующую команду:

php -i | grep memcache

Создаем конфигурационный файл битрикс:

vi /home/bitrix/www/bitrix/.settings_extra.php

<?php 

return array (
  ‘cache’ => array (
    ‘value’ => array (
      ‘type’ => array (
        ‘class_name’ => ‘\Bitrix\Main\Data\CacheEngineMemcache’,
        ‘extension’ => ‘memcache’
      ),
      ‘memcache’ => array(
        ‘host’ => ‘127.0.0.1’,
        ‘port’ => ‘11211’,
      ),
      ‘sid’ => $_SERVER[«DOCUMENT_ROOT»].»#01″
    ),
  ),
);

 
?>

* если в файле уже есть какое-то содержимое, то просто добавляем настройки cache.

Открываем конфигурационный файл dbconn.php:

vi /home/bitrix/www/bitrix/php_interface/dbconn.php

Добавляем строки (или приводим значения к виду):

define(«BX_CACHE_TYPE», «memcache»);
define(«BX_CACHE_SID», $_SERVER[«DOCUMENT_ROOT»].»#01″);
define(«BX_MEMCACHE_HOST», «127.0.0.1»);
define(«BX_MEMCACHE_PORT», «11211»);

* в данном примере мы указали, что наш сервер memcache находится на том же сервере, что и Битрикс24 (127.0.0.1), а сам кэширующий сервис слушает на порту 11211.

Готово. Можно перейти в панель проверики производительности и на вкладке PHP проверить результат.

Обновление PHP

Портал Битрикс24 разработан с использованием PHP. Время от времени разработчик предупреждает о прекращении поддержки установленной версии и необходимости обновления, например:

Предупреждение о необходимости обновления PHP

Рассмотрим пример обновления PHP в CentOS подробнее.

Важно отметить потенциальную опасность данного обновления. Портал может использовать расширения, которые не будут поддерживаться новой версией PHP, что приведет систему в неработоспособное состояние.

Перед выполнением процедуры лучше сделать снапшот (если наш портал работает на виртуальной машине).

Добавляем репозиторий PHP:

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

По нашему сообщению (из скриншота) нам нежно установить версию 8.1. Включаем репозиторий для соответствующей версии:

yum-config-manager —enable remi-php81

Если мы получим ошибку bash: yum-config-manager: command not found, необходимо установить yum-utils:

yum install yum-utils

Устанавливаем PHP:

yum install php

Система обновит кэш репозиториев и выполнит установку как PHP, так и расширений, которые необходимо обновить со старой версии на новую.

Чтобы Битрикс24 увидел обновления, вводим:

systemctl restart httpd

Проверяем работоспособность портала. Посмотреть используемую версию PHP можно в панели администратора, разделе НастройкиПроизводительностьPHP.

Решение проблем

Ошибка 504 при оптимизации базы данных

Оптимизация базы занимает продолжительное время. Но вместо окончиния процесса мы можем увидеть ошибку: 504 Gateway Timeout.

Причина: веб-сервер nginx ждет ответа от работы скрипта определенное время. Данное время определено с помощью опций proxy_connect_timeout, proxy_send_timeout и proxy_read_timeout. Посмотреть текущие значения можно командой:

nginx -T | egrep «proxy_.*_timeout»

Если скрипт работает дольше, то система вернет ошибку.

Решение: нам нужно указать большее значение для вышеперечисленных опций:

vi /etc/nginx/nginx.conf

http {
    …
    proxy_connect_timeout           3600;
    proxy_send_timeout              3600;
    proxy_read_timeout              3600;

* в данном примере мы указали, что nginx будет ждать час, прежде чем выдаст ошибку.

Слишком большое ожидание может привести к снижению производительности системы. Рекомендуется вернуть значения после выполнения оптимизации.

Перезапускаем сервис nginx:

nginx -t && nginx -s reload

Можно запускать оптимизацию баз.

Перестали загружаться фотки в карточку товара на битриксе. Написано «Отсутствует временная папка» В чем проблема? Как исправить?
и на сайте ошибка
FILE: /home/bitrix/www/bitrix/modules/iblock/classes/mysql/iblock.php
LINE: 239
MySQL Query Error: SELECT B.* ,B.XML_ID as EXTERNAL_ID ,DATE_FORMAT(B.TIMESTAMP_X, ‘%d.%m.%Y %H:%i:%s’) as TIMESTAMP_X ,L.DIR as LANG_DIR ,L.SERVER_NAME ,COUNT(DISTINCT BE.ID) as ELEMENT_CNT FROM b_iblock B INNER JOIN b_lang L ON L.LID=B.LID LEFT JOIN b_iblock_element BE ON (BE.IBLOCK_ID=B.ID AND ( (BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL ) ) ) WHERE 1 = 1 AND ((((B.CODE LIKE ‘vilka_seo’)))) GROUP BY B.ID [[1] Can’t create/write to file ‘/tmp/MYF9yg7b’ (Errcode: 28 — No space left on device)]

можно ли решить эту проблему на стороне сайта?

  • Itsgraphic.ru

  • Блокнот

  • 1С-Битрикс

  • Не создан временный каталог для загрузки

23.02.2016

Не создан временный каталог для загрузки

Вопрос:
Пытаюсь добавить в новый элемент инфоблока картинку, получаю ошибку: Не создан временный каталог для загрузки.

Решение:

Проверить права доступа к папке для временных файлов.
Проверить в файле — /bitrix/php_interface/dbconn.php настройку параметра

define("BX_TEMPORARY_FILES_DIRECTORY", "/путь к временному каталогу для загрузки");

P.S. Указывается абсолютный путь к папке на хостинге. Например /var/www/site/php-tmp/

Можно попробовать закомментировать строку define(«BX_TEMPORARY_FILES_DIRECTORY», «…»);, «Битрикс» должен будет взять настройку из настроек сервера.

2003 — 2023 © 18+ Itsgraphic.ru. Если вам нет 18 лет, немедленно покиньте планету.
Вся информация публикуется в научных, полемических, критических, информационных, учебных целях, в целях раскрытия творческого замысла автора

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Ошибка времени чем закончился фильм
  • Ошибка времени фильм ютуб
  • Ошибка времени фильм сюжет полностью
  • Ошибка времени фильм смотреть 720

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии