Не работает файл init php

Проблема с init.php — ошибка блокирует админ раздел!

Помогите! Ошибка кода в файле /bitrix/php_interfase/init.php блокирует и публичный, и админ разделы! Исправить положение можно только удалив этот файл через ftp. Как отладить работу агента? Подскажите, плиз. И еще. Вскоре после такой ошибки обнаружил, что не могу добавить папку в корень сайта. Попытался создать пустой init.php — снова битрикс висит Что я делаю не так?

Где-то в форуме было, что init.php не должен быть пустым, что его минимальное содержимое должно быть таким:

При создании файла init.php и заполнении его даже минимальным содержимым появляется проблемка.
Сайт не пускает в админку и не запоминает введёные логин и пароль. В некоторых случаех сайт начинает бесконечно обновляться (аналогично нажатию F5).
Тестируется на локале.

Цитата
Text here.
Fatal error: Call to a member function CanDoOperation() on a non-object in /home2/eurosiv./public_html/bitrix/modules/main/include/epilog_after.php on line 15
Цитата
Fatal error: Call to a member function IsAuthorized() on a non-object in /home2/eurosiv./public_html/bitrix/modules/main/classes/general/main.php on line 653

заходим на ftp 0:/public_html/bitrix/php_interface/
пытаемся удалить init.php — нельзя. Пытаемся изменить права — нельзя. Пытаемся редактировать — нельзя. А открывать и смотреть можно тысячу раз.. Что делать?

Читайте также:  Python requests uploading file

Ни разу не пользовался ( есть только логин-пароль админки и фтп.

Видимо, у вас php и ftp работают от разных пользователей.

Решение (коряво, но работает наверное всегда)
1. возьмите где-нибудь правильный init.php и сохраните его в корне как init_right.php
2. создайте php-скрипт, например, в корне, с именем 1.php b вот примерно таким содержанием:

 fclose($handle1); fclose($handle2); ?>

ITConstruct . Разработка сайтов в Москве и Новосибирске. Внедрение корпоративных порталов. Техническая поддержка

Пример скрипта , который проставляет права 0777 на каталоги и файлы, будучи запущен от веб-сервера. Полезен в случае, когда апач запускается от другого пользователя.

Также в вашем случае имеет смысл прописать в /bitrix/php_interface/dbconn.php такие маски:

define("BX_FILE_PERMISSIONS", 0666); define("BX_DIR_PERMISSIONS", 0777);

Дмитрий, на такой скрипт наталкивался, вызвал он вопросы, на которые я не нашел ответ, но специально спрашивать не стал. Вот, случай подвернулся.

Если запустить скрипт, то права на ВСЕ директории и файлы будут выставлены 777. Разве это не значит, что можно будет свободно обращаться к чему угодно на сайте? Непонятно немного, хотелось бы подробностей.

Зависит от. На Мастерхвосте выставлять такие права можно, поскольку разные пользователи не имеют права просматривать домашние каталоги друг друга, на других хостингах могут быть проблемы.

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

Я верно понимаю — если выполнить этот скрипт и дать ему на вход ВСЕ директории и файлы, они получат 777, тогда любой может делать все что угодно с ними? Надеюсь что неверно.

Не любой. Для начала нужно иметь возможность войти в каталог с вашим сайтом по ftp, ssh или с консоли. А вот у КОГО есть такая возможность, зависит от настроек сервера.

Аналогичная ситуация, переименовал /bitrix/php_interfase/init.php в /bitrix/php_interfase/init2.php
Все стало работать, для чего он необходим? и нужно ли его создать заново?

Посмотрите порядок выполнения страницы . Обычно в init.php выносят свои обработчики событий и свои функции/классы.

У меня была такая же проблема, решилась тем что кодировка файла init.php была UTF-8, Я изменил на UTF-8 (без BOM), и вход в админку заработал.

Привет, ошибка и меня постигла)
Пытался создать файл init.php, но после сохранения сайт упал с такой ошибкой.

Не один из вышеперечисленных решений не помог. файла нету .

Text here. [Error] Call to a member function CanDoOperation() on null (0) /home/bitrix/www/bitrix/modules/main/include/epilog_after.php:15

Продукты

Управление сайтом

Битрикс24

Интернет-магазин + CRM

Решения

Для интернет-магазинов

Каталог готовых решений

Внедрение

Выбрать партнера

Проверить партнера

Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

Источник

Где в Битрикс расположен файл init.php в файловой структуре Bitrix

Выше описаны стандартные варианты расположения init.php в битрикс, но на вашем сайте может быть подключено 2-4 init.php, а возможен и такой вариант, что файлы init.php отсутствуют вовсе. Если на вашем сайте есть несколько файлов init.php /bitrix/php_interface/init.php и /bitrix/php_interface/ID сайта/init.php то сначала подключится файл /bitrix/php_interface/init.php, а потом /bitrix/php_interface/ID сайта/init.php Если вы не нашли файл init.php по одному из указанных путей, то не пугайтесь, файл init.php в битрикс не обязательный и следовательно создается разработчиками или установочным модулем по необходимости. Вывод один: если файла init.php нет, то вероятно файл еще никто не создавал и вам нужно просто создать его в нужном месте.

Назначение файла init.php в Битрикс

Зная где в битрикс расположен файл init.php, вы сможете его редактировать. Зачем вам нужно редактировать этот файл? Если вы владелец магазина или обычный контент редактор, то лучше не пробовать, если разработчик, то редактирование этого файла може принести не мало пользы. Особеностью файла init.php в битрикс является то, что файл автоматически подключается в прологе сайта и может содержать в себе инициализации обработчиков событий и дополнительные функции, которые будут выполняться на всех страницах сайта.

Как работать с файлом init.php

  • 1. Всегда вносите изменения только по ftp или sftp или хотя бы убедитесь в том, что у вас есть доступ к сайту по ftp/sftp — это будет полезно, если вы допустите ошибку в файле и сайт перестанет работать.
  • 2. Не начинайте init.php в битрикс с пустой строки или с комментария, т.к. это с большой долей вероятности вызовет ошибку и сайт перестанет работать.
  • 3. Если вам нужно написать много кода в файле init.php, то даже сам битрикс советует делать это с разделением на логические куски, разделение кода на файлы и подключение этих файлов через require_once в init.php

Что делать, если после изменения init.php сайт перестал работать

Перед началом работы с файлом init.php я советую сохранить локальную копию где-то у себя на компьютере и при возникновении ошибки просто вернуть исходный код, но если вы уже допустили ошибку в файле init.php и сайт перестал работать, а запущена к примеру реклама, то есть достаточно простой способ быстро решить проблему — переименовать файл например так «test_init.php», таким образом вы снова запустите сайт, но стоит отметить, что весь функционал, который был прописан в init.php будет неработоспособным, поэтому переименование файла — не решение проблемы, а временная мера, которая поможет быстро восстановить работу сайта.

Информация на сайте не является публичной офертой

Источник

Форум

Нужно добавить обработку события. Смотрю у меня нет init.php — ну ладно, создаю. Добавляю. Не работает.
Да что такое!
Потом пробую добавить в init.php уже просто die(); — все работает.
Т.е. init.php просто не подключается и не обрабатывается. Гуглинг ничего не дал.
Это какое-то новшество настолько очевидное, что про него нигде не пишут и не знаю один я?

А init.php используете общий или для конкретного сайта? Некоторые события при использовании init.php в подпапках сайта действительно не срабатывают.

Цитата
Dmitry Sirotin пишет:
А init.php используете общий или для конкретного сайта? Некоторые события при использовании init.php в подпапках сайта действительно не срабатывают.
Цитата
Александр Маджугин пишет:
Нужно добавить обработку события. Смотрю у меня нет init.php — ну ладно, создаю. Добавляю. Не работает.
Да что такое!
Потом пробую добавить в init.php уже просто die(); — все работает.
Т.е. init.php просто не подключается и не обрабатывается. Гуглинг ничего не дал.

Правильная последовательность действий выглядит так:
1) Создаю init.php, добавляю в него die().
Работает? Значит, всё ОК.
2) Добавляю в init.php свой обработчик событий.
Не работает? Значит, что-то не то в моём обработчике событий, поскольку init.php вызывается.

Программисты такие программисты.

Dmitry Ban, «работает» — это скорее всего не die работает, а сайт при этом работает(то есть die не работает)))). а вот права и в правду можно проверить

Центр поддержки

Продукты

Управление сайтом

Битрикс24

Интернет-магазин + CRM

Решения

Для интернет-магазинов

Каталог готовых решений

Внедрение

Выбрать партнера

Проверить партнера

Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

Источник

Оцените статью