Bitrix ошибка при открытии файла

 

Здравствуйте.

Мне достался готовый сайт. Версия — «1С-Битрикс: Управление сайтом 11.5.1»
Контент лежит прямо в файле index.php. Когда пытаюсь его отредактировать (захожу в «Файлы и папки» и нахожу в поиске index.php), получаю «Ошибка при создании файла». Поначалу подумалось, что дело в правах, поставила на index.php права 777, всё равно такую же ошибку получаю. М.б. вместе с index.php ещё какие-то файлы редактируются и проблема в них?

 
 

Пользователь 92039

Посетитель

Сообщений: 54
Баллов: 4
Регистрация: 23.05.2011

#3

0

10.04.2013 12:52:17

Цитата
al.builov пишет:
Права на доступ продукта посмотри.http://www.1c-bitrix.ru/products/cms/security/access.php

У меня в «Структуре сайта» в «Контенте» нет пункта «Управление». Наверное, документация для более поздней версии системы.
Права кроме как на сам файл по FTP нужно ещё и в системе ставить?

 

Пользователь 95726

Эксперт

Сообщений: 742
Баллов: 61
Регистрация: 06.07.2011

#4

0

10.04.2013 13:10:37

Цитата
Topacio пишет:
Права кроме как на сам файл по FTP нужно ещё и в системе ставить?

Так и редактируй по FTP.  Сдался тебе этот редактор.

Цитата
Topacio пишет:
М.б. вместе с index.php ещё какие-то файлы редактируются и проблема в них?

М.б. если включаемую область редактируешь например.

 

Пользователь 92039

Посетитель

Сообщений: 54
Баллов: 4
Регистрация: 23.05.2011

#5

0

10.04.2013 13:15:50

Цитата
Suntechnic пишет:

Цитата
Topacio пишет:
Права кроме как на сам файл по FTP нужно ещё и в системе ставить?

Так и редактируй по FTP. Сдался тебе этот редактор.

Это не для меня всё делается, а для сеошника, который привык работать с редактором. Так что надо разобраться.
По поводу включаемой области — а если редактируется файл index.php разве затрагиваются файлы, которые он включает?

 

Ну если из админки, то нет. А если непосредственно со страницы, то да.

 

Я редактирую из админки.
«Ошибка при создании файла» возникает при попытке отредактировать любой файл из корня сайта. Когда захожу в любую папку и пытаюсь отредактировать файлы там, то всё нормально. Я уже какие только права не ставила, и хозяина файла меняла с апача на рут, никакого толку.
М.б. дело в хостинге? Или из панели управления права на корневые файлы можно поправить? Подскажите, кто сталкивался!

 

На хостинге clodo имею аналогичную ошибку, создал включаемую область на сайте по фтп, в структуре сайта показывает полный доступ на права системы, но при редактировании пишет «Ошибка при создании файла».

Пришлось создавать файл через админку, тогда все работает.

Разработка интернет магазина под ключ на 1С-Битрикс www.electroid.org, интеграция битрикс и 1С.

 

Пользователь 37620

Эксперт

Сообщений: 2549
Баллов: 226
Регистрация: 13.02.2009

для СПАСИБО на форуме есть КНОПКА!

#9

1

25.09.2013 17:26:52

Цитата
Дмитрий Ипатов пишет:
На хостинге clodo имею аналогичную ошибку, создал включаемую область на сайте по фтп, в структуре сайта показывает полный доступ на права системы, но при редактировании пишет «Ошибка при создании файла».

Пришлось создавать файл через админку, тогда все работает.

такое бывает, если у вас веб сервер и фтп под разными юзерами работают.

Сайт Startup’а — адаптивная Bootstrap вёрстка, композит, микроразметка. бесплатно

 

Пользователь 266000

Заглянувший

Сообщений: 14
Регистрация: 23.10.2014

#10

0

19.07.2020 20:41:11

Здравствуйте!
В меню добавляю пункт, связываю с файлом
пишет ошибка при создании файла.
ранее другой пункт меню создавал не было ошибки.
создаю со стороны сайта при включенном режиме правки.
подскажите как быть.
_________________________________
Помогите «захватить» мир, Hello

Прикрепленные файлы

  • 665.png (123.86 КБ)

Заказать сайт

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

Настройки подключения к 1С должны быть произведены согласно официальной документации

Очистка кеша после импорта

В файле init.php добавляем

//При начале импорта из 1С устанавливаем сессионную переменную
AddEventHandler(
    'catalog',
    'OnBeforeCatalogImport1C',
    function ()
    {
        $_SESSION["1C_UPDATE"] = true;
    }
);

//При окончании импорта из 1С устанавливаем сессионную переменную
AddEventHandler(
    'catalog',
    'OnSuccessCatalogImport1C',
    function ()
    {
        $_SESSION["1C_UPDATE"] = false;

        define('BX_BUFFER_USED', true);
        define('NO_KEEP_STATISTIC', true);
        define('NOT_CHECK_PERMISSIONS', true);
        define('NO_AGENT_STATISTIC', true);
        define('STOP_STATISTICS', true);
        define('SITE_ID', 's1');

        BXClearCache(true);

        if (class_exists('\Bitrix\Main\Data\ManagedCache')) {
            (new \Bitrix\Main\Data\ManagedCache())->cleanAll();
        }

        if (class_exists('\CStackCacheManager')) {
            (new \CStackCacheManager())->CleanAll();
        }

        if (class_exists('\Bitrix\Main\Data\StaticHtmlCache')) {
            \Bitrix\Main\Data\StaticHtmlCache::getInstance()->deleteAll();
        }
    }
);

Запуск импорта вручную

Для этого нужно перейти по адресу: https://site.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=import.xml

Так же импорт можно запустить из отладочного файла /bx_1c_import.php, что намного удобнее, но небезопасно! Переименуйте его и удалить сразу после использования

Включение отладки

В файле /bitrix/php_interface/dbconn.php добавляем константу

define("BX_CATALOG_IMPORT_1C_PRESERVE", true);

Для каждого обновляемого файла получим массив вида

Host: site.ru:443
Date: 2020-06-29 09:23:48
Module: ------------UPDATE-----------
Array
(
    [ACTIVE] => Y
    [PROPERTY_VALUES] => Array
        (
                )

            [339] => Array
                (
                    [n0] => Array
                        (
                            [VALUE] => 5055185210794
                            [DESCRIPTION] => 
                        )

                )

            [340] => Array
                (
                    [n0] => Array
                        (
                            [VALUE] => 5678000-01109
                            [DESCRIPTION] => 
                        )

                )

            [342] => Array
                (
                    [n0] => Array
                        (
                            [VALUE] => Товар 
                            [DESCRIPTION] => ВидНоменклатуры
                        )

                    [n1] => Array
                        (
                            [VALUE] => Товар
                            [DESCRIPTION] => ТипНоменклатуры
                        )

                    [n2] => Array
                        (
                            [VALUE] => Набор для вышивания "Поле маков". По картине Стива Томса ("Poppy Field", Steve Thoms). 25х25 см
                            [DESCRIPTION] => Полное наименование
                        )

                    [n3] => Array
                        (
                            [VALUE] => 1933.83
                            [DESCRIPTION] => Цена
                        )

                    [n4] => Array
                        (
                            [VALUE] => 0
                            [DESCRIPTION] => Вес
                        )

                )

        )

    [TMP_ID] => 1765642395
    [XML_ID] => 583b6b8d-d8f1-11e0-9980-1c6f65bc8a97
    [NAME] => Набор для вышивания MAIA Поле маков
    [DETAIL_TEXT] => Размер:25*25см (состав: канва Aida 16, цветная схема, нитки Anchor, игла, инструкция), счетный крест
    [DETAIL_TEXT_TYPE] => text
    [PREVIEW_TEXT] => Набор для вышивания "Поле маков". По картине Стива Томса ("Poppy Field", Steve Thoms). 25х25 см
    [PREVIEW_TEXT_TYPE] => text
    [DETAIL_PICTURE] => Array
        (
            [name] => 583b6b8d-d8f1-11e0-9980-1c6f65bc8a97_2b668b28-d6b7-11e5-afc8-001e676a37f6.jpg
            [size] => 84906
            [tmp_name] => /home/bitrix/www/upload/1c_catalog/import_files/58/583b6b8d-d8f1-11e0-9980-1c6f65bc8a97_2b668b28-d6b7-11e5-afc8-001e676a37f6.jpg
            [type] => image/jpeg
            [external_id] => 825a18b4d6a465891654f1227d1968e4
            [description] => 09
            [MODULE_ID] => iblock
            [old_file] => 122987
        )

    [PREVIEW_PICTURE] => Array
        (
            [name] => 583b6b8d-d8f1-11e0-9980-1c6f65bc8a97_2b668b28-d6b7-11e5-afc8-001e676a37f6.resize1.jpg
            [size] => 40462
            [tmp_name] => /home/bitrix/www/upload/1c_catalog/import_files/58/583b6b8d-d8f1-11e0-9980-1c6f65bc8a97_2b668b28-d6b7-11e5-afc8-001e676a37f6.resize1.jpg
            [type] => image/jpeg
            [external_id] => 825a18b4d6a465891654f1227d1968e4
            [description] => 09
            [MODULE_ID] => iblock
            [old_file] => 122986
        )

    [IBLOCK_SECTION] => Array
        (
            [0] => 1217
        )

    [BASE_WEIGHT] => 0
    [MODIFIED_BY] => 1
    [WF] => N
    [SEARCHABLE_CONTENT] => НАБОР ДЛЯ ВЫШИВАНИЯ MAIA ПОЛЕ МАКОВ
НАБОР ДЛЯ ВЫШИВАНИЯ "ПОЛЕ МАКОВ". ПО КАРТИНЕ СТИВА ТОМСА ("POPPY FIELD", STEVE THOMS). 25Х25 СМ
РАЗМЕР:25*25СМ (СОСТАВ: КАНВА AIDA 16, ЦВЕТНАЯ СХЕМА, НИТКИ ANCHOR, ИГЛА, ИНСТРУКЦИЯ), СЧЕТНЫЙ КРЕСТ
    [PREVIEW_PICTURE_ID] => 136021
    [DETAIL_PICTURE_ID] => 136022
    [ID] => 116896
    [IBLOCK_ID] => 22
    [RESULT] => 1
)

Поиск проблемного файла при получении во время импорта из 1С ответа Файл не является графическим

В файле /bitrix/modules/main/classes/general/file.php перед каждым

return GetMessage("FILE_BAD_FILE_TYPE");

вставляем:

print_r($arFile)

Получим массив вида

[
	[name] => 493d6d81-6ebb-11e3-8f8e-001e676a37f6_493d6d83-6ebb-11e3-8f8e-001e676a37f6.jpg
	[size] => 1051
	[tmp_name] => /home/bitrix/www/upload/1c_catalog/import_files/49/493d6d81-6ebb-11e3-8f8e-001e676a37f6_493d6d83-6ebb-11e3-8f8e-001e676a37f6.jpg
	[type] => image/jpeg
	[external_id] => b6c6e1bf0372a666323fd0a000999734
	[description] => PN-0146947
	[MODULE_ID] => iblock
	[old_file] => 
]

Теперь в файле import.xml мы можем найти id проблемного товара по имени изображения

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

Вместо print_r добавьте в файл /bitrix/modules/main/classes/general/file.php такой код

$log = '///////////////////////////////////////////////////////////////n';
$log .= date('Y-m-d H:i:s') . ' ' . print_r($arFile, true);
//$log .= str_replace(array('	', PHP_EOL), '', print_r($arFile, true)); //Для вывода в одну строку
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/log.txt', $log . PHP_EOL, FILE_APPEND);

Выгрузка на сайт завершилась с ошибками. import.xml: Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.

1С вернул код ответа Ошибка открытия файла

Если вы убедились, что на жестком диске место есть, у вашего скрипта есть права доступа к папке /upload/ и сама папка существует, то попробуйте отключить сжатие при обмене с 1С.

Перейдите по ссылке /bitrix/admin/1c_admin.php?lang=ru&tabControl_active_tab=edit_catalog или используя навигацию Магазин > Настройки > Интеграция с 1С и снимите галочку с опции Использовать сжатие zip, если доступно

Теги:

1С Битриксphp

Данная проблема в Битриксе может появляться при отсутствии нужных прав на каталоги и файлы. В моём случае проблема возникла при многосайтовости, до этого всё было в порядке, но спустя какое-то время после длительной работы, появилось ограничение. За время поиска решения этой задачи, я нашел несколько решений и думаю, что один из вариантов Вам поможет справиться с данной проблемой. 

Первое что необходимо сделать — это проверить права на файлы и папки в нужном каталоге. Права на папку должны быть 755, на файлы 664. Ни в коем случае не выставляйте права 777 на папки или файлы, даже на время. 

В моём случае этот метод не сработал, я стал копать дальше. Нашел такой совет. в файле /bitrix/php_interface/dbconn.php установить такие константы. 

define( "BX_FILE_PERMISSIONS", 0660 );

define( "BX_DIR_PERMISSIONS", 0775 );

@umask( ~BX_DIR_PERMISSIONS );

@ini_set( "memory_limit", "512M" );

Но этого не потребовалось, т.к. эти значения уже были заданы и по идее всё должно было работать. На одном из форумов посоветовали изменить права доступа и владельца к нужной категории через консоль. Но я посчитал, что если всё до этого работало, то не нужно так далеко залазить, проблема явно была в не в этом, для Вас приведу код в котором можно изменить права доступа к каталогам и файлам через консоль. Говорят может помочь. 

find . -type d -exec chmod 775 { } \;

find . -type f -exec chmod 664 { } \;

В моём случае решение оказалось куда проще.  Все сайты лежали в корневой директории, один из них являлся общим ядром. Но по какой-то причине прекратился общий доступ к «главному сайту» и всё что нужно было сделать — это открыть доступ.

Поскольку сайты на учётных записях закрыты процессы, запущенные на одном сайте, не имеют прав для обращения к каталогам, выходящим за пределы этого сайта. Для доступа из окружения веб-сервера потребуется открыть общий доступ к каталогу. Мой проект находится на beget и эта операция делается очень просто через файловый менеджер.

  1. Зайдите в нужную директорию
  2. В верхней части экрана нажмите на кнопку “Инструменты” -> “Настроить общий доступ к текущей директории”: 
  3. Установите переключатели “Чтение и запись” и “Включая вложенные папки”, нажмите кнопку “Открыть доступ”: 

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

Проблема с ограничением доступа в Битриксе может возникать из-за недостаточных прав на каталоги и файлы. Если вы столкнулись с этой проблемой, первым делом необходимо проверить права доступа к нужным каталогам. Права на папку должны быть установлены в 755, а на файлы — в 664. Важно помнить, что не следует выставлять права 777 на папки и файлы, даже временно.

Однако, если изменение прав доступа не помогло решить проблему, можно попробовать другие методы. Например, в файле /bitrix/php_interface/dbconn.php можно установить следующие константы:

«`php
define(«BX_FILE_PERMISSIONS», 0660);
define(«BX_DIR_PERMISSIONS», 0775);
@umask(~BX_DIR_PERMISSIONS);
@ini_set(«memory_limit», «512M»);
«`

Однако, в некоторых случаях это может быть необходимо. На форумах пользователи также рекомендуют изменить права доступа и владельца к нужным каталогам и файлам через консоль. Для этого можно использовать следующие команды:

«`
find . -type d -exec chmod 775

Ошибки конвертации

При попытке открыть файл на диске может произойти ошибка конвертации.

Ошибка конвертации.png

В каких случаях это может произойти:

  • Сервер конвертации недоступен, т.к. нет связи по сети – проверьте соединение.
  • Лицензионный ключ неактивен. Если вы работаете в коробочной версии Битрикс24 – обязательно уточните.
  • Вы пытаетесь сконвертировать слишком много файлов за короткое время – подождите несколько минут и повторите конвертацию. Лимиты: 100 в 5 минут, 300 в час или 2000 в сутки суммарно на просмотр файлов и генерацию документов.
  • Вы пытаетесь сконвертировать слишком большой файл. Конвертер может обработать документы размером до 40 МБ, видео – до 1 ГБ (зависит от тарифа).
  • Ошибка может произойти, если превышено допустимое время конвертации. Это может произойти из-за большого размера файла, слишком сложной структуры или просто плохого соединения.
  • Лимит файла для совместного редактирования в Битрикс24 Docs — 100МБ

  • Файл в принципе не открывается — сначала проверьте его на локальном компьютере. Если он не откроется, то и конвертер не сможет его обработать.

Как решить проблему?

  • Для начала проверьте ваше соединение с сетью.
  • Уточните, не превышает ли загружаемый файл лимита по размеру.
  • Чтобы проверить, сможет ли пройти конвертация, откройте ваш файл в LibreOffice. Если он открыл его без ошибок – подождите 5-7 минут и попробуйте конвертировать файл еще раз.
  • Если все шаги не решили проблему – обратитесь в техподдержку и приложите копию файла, чтобы можно было проверить, в чем именно ошибка.

Спасибо, помогло!

Спасибо :)


Это не то, что я ищу


Написано очень сложно и непонятно


Есть устаревшая информация


Слишком коротко, мне не хватает информации


Мне не нравится, как это работает

Нет. Такие же не надо.
Надо посмотреть от чьего имени работает веб сервер. Тут вообще битрикс не при чем. У вас пробема в том, что все файлы доступны только root и вебсервер не имеет к ним доступ. Попробуйте в каталоге — корне сайта (в терминале через ssh) выполнить команду

там увидите у файлов кто владелец группа. Я так понимаю у части root:root, но у некоторых должно быть нечто другое. Например bitrix:bitrix, www-data:www-data или иное… Тут уже зависит от дистрибутива линукса развернутого на сервере, предыдущего админа и т.п. Вот вам нужно ходить через ftp именно под этим пользователем. (Да и по ssh под root лучше не ходить — обычно это запрещают, а при необходимости логинятся обычным, и уже в терминале меняют пользователя на root)

Ну и необходимо будет поменять права к файлам. Для этого находясь в терминале в корне сайта под root. Выполните (в примере имя искомого пользователя bitrix и группа bitrix:

Bash
1
chown -R bitrix:bitrix ./*

Но вообще с этим со всем надо аккуратно… Лучше пригласить специалиста. Наверняка на том же хостинге есть услуга помощи админа.

Добавлено через 56 секунд
PS Вопрос, кстати, ваш скорее не для этого раздела. Т.к. битрикс относится лишь косвенно.

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

Интересное по теме:

  • Bitrix ошибка при загрузке файла
  • Black desert ошибка 200 при скачивании
  • Bitrix ошибка отсутствуют цены
  • Black desert ошибка 104 mobile
  • Bitrix ошибка обновления err доступ запрещен

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

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