Файл init.php
Сам по себе файл не обязательный, особенность его в том, что он подключается в начале каждой страницы сайта и служит для инициализации обработчиков событий или подключения дополнительных функций. То есть, в нем можно размещать код, который необходим для выполнения на каждой странице сайта.
Последовательность очереди подключения можно посмотреть в документации по Битрикс: первым идет
подключение пролога, а затем init.php.
Для примера, определим в init.php свою константу:
<?
define(STRING, 'Тест');
?>
Затем перейдем на сайт, откроем тестовую страничку и в режиме кода вызываем константу которую определяли в init:
<?echo STRING;?>
Получаем вывод значении Тест. То есть, таким образом можно работать как при использовании стандартных функций php, а
также писать свой код или задействовать 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
Файл init.php в битрикс достаточно важный т.к. подключается в прологе, т.е. еще до выполнения кода на страницах сайта и
административной части, таким образом любая ошибка в файле init.php приведет к тому, что перестанет работать не только
публичная часть сайта, но и административная.
Даже если вы узнали где лежит init.php в битрикс и понимаете как сним работать, необходимо соблюдать некоторые меры
безопасности и правила хорошего тона в программировании:
- Всегда вносите изменения только по
ftpилиsftpили хотя бы убедитесь в том, что у вас есть доступ к сайту поftp/sftp— это будет полезно, если вы допустите ошибку в файле и сайт перестанет работать - Не начинайте
init.phpв битрикс с пустой строки или с комментария, т.к. это с большой долей вероятности вызовет ошибку и сайт перестанет работать - Если вам нужно написать много кода в файле
init.php, то даже сам битрикс советует делать это с разделением на логические куски, разделение кода на файлы и подключение этих файлов черезrequire_onceвinit.php
Что делать, если после изменения init.php сайт перестал работать
Перед началом работы с файлом init.php я советую сохранить локальную копию где-то у себя на компьютере и при
возникновении ошибки просто вернуть исходный код, но если вы уже допустили ошибку в файле init.php и сайт перестал
работать, а запущена к примеру реклама, то есть достаточно простой способ быстро решить проблему — переименовать файл
например так test_init.php, таким образом вы снова запустите сайт, но стоит отметить, что весь функционал, который был
прописан в init.php будет неработоспособным, поэтому переименование файла — не решение проблемы, а временная мера,
которая поможет быстро восстановить работу сайта.