init php битрикс где находится

14.Ноя.2019 Не выгружаются заказы в 1С
Не выгружаться заказы в 1С из сайта на битрисе могут по разн.

07.Ноя.2019 Видео youtube на фон сайта
Как-то на сайт мне нужно было вывести видео на весь экран, к.

05.Ноя.2019 Свойство с большим списком (датой)
Если в инфоблоке необходимо использовать свойство типа списо.

05.Ноя.2019 Основные настройки BitrixVM
Приведу основные пути и файлы конфигурации в виртуальной маш.

24.Окт.2019 Безлимитный интернет от Билайн не безлимитный
Как-то мне пришла смс от Билайна, что мне доступна услуга бе.

24.Окт.2019 Как мне помог сервис kwork.ru
Хочу поделиться своей истории о том, как я начал зарабатыват.

04.Май.2019 Вывод ошибок в .settings.php
Если у вас на сайте произошла ошибка, но она не отображается.

15.Июн.2018 Пагинация REL PREV NEXT 1С-Битрикс
Что бы облегчить поисковикам работу можно указать в теге hea.

07.Июн.2018 Как выровнять блок по центру экрана
Что бы выровнять блок по горизонтали, достаточно прописать с.

Максим Месилов: С течением времени на проекте накапливается ворох «общих» функций, обработчиков событий, специфических библиотек и т.д. Очень часто всё это валят в init.php и там чёрт ногу сломит.

Файл может содержать в себе инициализацию обработчиков событий, подключение дополнительных функций — общие для всех сайтов. В этом случае он располагается по пути /bitrix/php_interface/init.php . Для каждого отдельного сайта может быть свой аналогичный файл. В этом случае он располагается по пути /bitrix/php_interface/ID сайта/init.php . Если есть оба файла, то система подключит оба, но первым при этом будет файл /bitrix/php_interface/init.php .
Начиная с версии 14.0.1 рекомендуется размещать этот файл в папке /local Чтобы сделать жизнь разработчиков проектов удобнее основные файлы проекта вынесены из папки /bitrix в папку /local . Это позволит изолировать изменяющиеся файлы проекта от папки продукта. По сути, в исключения достаточно будет добавить одну папку /bitrix .

Подробнее . по пути /local/php_interface/ID сайта/init.php .

Код условного отключения по значению $_SESSION в файле init.php не работает, так как эта переменная определяется позже.

Чтобы init.php не превращался в свалку непонятного кода следует код размещать логически группируя по файлам и классам.

Рекомендуется придерживаться следующих самых общих правил:

  1. init.php содержит только подключения файлов. Причем подключать эти файлы желательно через __autoload. Штатными средствами это делается так:
  2. Если функционал используется только на одном из сайтов в системе, то он выносится в свой init.php;
  3. Обработчики событий лучше группировать в одном файле и тщательно аннотировать где они используются и какая задача перед ними стоит.

Как избежать проблем при редактировании init.php без ftp/ssh доступа

Ошибка в файле init.php приводит к полной потере работоспособности сайта и невозможности что-то исправить без доступа к файлу через ftp/ssh напрямую с диска. Такое возможно, например, в случаях:

  • У клиента хостинг под Windows, а у вас «серый» IP и ftp не работает.
  • Хостинг под Linux, но php и ftp работают из-под разных пользователей и файл недоступен для редактирования по ftp.
  • У клиента свой сервер и доступ по ftp он не дает.

Если доступ есть только через веб, то один из наиболее простых способов — вынос всего вашего кода во внешний файл и подключение его примерно так:

Рекомендуется использовать собственное именование ключа. К примеру, nomysuperinit, так как курс в открытом доступе и любой может ознакомиться с этим методом, в том числе и с неблаговидными целями.

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

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

init.php или собственный модуль?

У разработчика проектов есть два способа постоянного использования уже созданных наработок: собственный модуль или файл init.php. Оба варианта имеют свои плюсы и минусы.

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

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

И при втором и первом способах код include $_SERVER[«DOCUMENT_ROOT»].»/bitrix/templates/. » ведет в одно и то же место для всех сайтов, где можно разместить общие для всех проектов файлы. В том числе никто не мешает создать свою папку для своих классов и уже оттуда их подключать, обращаясь к /bitrix/templates/my_classes/. .

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

Модули. Использование init.php будет предпочтительным если создаются проекты, которые точно всю жизнь проживут на одном сервере, и вы хотите максимально минимизировать затраты на поддержку кастомных библиотек. Желательно также чтобы эти библиотеки поддерживал один и тот же человек. Но если планируется эти наработки также использовать для заказных проектов, то дальновиднее делать модуль.

Модуль больше подходит для распространяемых API. При этом придется поддерживать и их интерфейс и формат ответа и другие параметры. Иначе: случайное обновление на одном из сайтов, использующих модуль, может оказаться роковым в случае изменения интерфейсов или форматов ответов API. Выигрыш спорный. С одной стороны — выигрываете, с другой — должны обеспечить пожизненные гарантии для всех использующих API модуля сайтов.

Где в Битрикс лежит файл init.php и что делать, если вы его не нашли

Файл init.php в битрикс может находиться по одному из следующих путей:

/bitrix/php_interface/init.php — в этом случае код написанный в файле распространяется на все ваши сайты.

/bitrix/php_interface/ID сайта/init.php — если файл находится по этому пути, то написанный в нем код будет подключен только к одному определенному сайту.

/local/php_interface/init.php — этот файл пришел к нам из D7. Это аналог файла /bitrix/php_interface/init.php Он будет работать для всех ваших сайтов, при этом есть один очень важный нюанс: файл /bitrix/php_interface/init.php не подключится и соответственно код написанный в нем работать не будет.

/bitrix/php_interface/ID сайта/init.php — этот файл, как и предыдущий его собрат пришел к нам из ядра D7, но является аналогом файла /bitrix/php_interface/ID сайта/init.php как и у его предшественника, при подключении этого файла, глобальный файл /bitrix/php_interface/ID сайта/init.php работать не будет

Выше описаны стандартные варианты расположения 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 приведет к тому, что перестанет работать не только публичная часть сайта, но и административная.

Даже если вы узнали где лежит init.php в битрикс и понимаете как сним работать, необходимо соблюдать некоторые меры безопасности и правила хорошего тона в программировании:

1. Всегда вносите изменения только по ftp или sftp или хотя бы убедитесь в том, что у вас есть доступ к сайту по ftp/sftp — это будет полезно, если вы допустите ошибку в файле и сайт перестанет работать.

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