Если нужно править init.php, но страшно завалить сайт и доступ есть только через админку ...
Увидел на хабре интереснейший пост.
Если нужно править init.php, но страшно завалить сайт и доступ есть только через админку ...Проблема:
Cайт без доступа по ftp/ssh, редактировать файлы можно только через панель администратора Битрикса.
Если допустить ошибку при редактировании файла и сохранить его — Битрикс упадет.
Возможное решение:
Оно «в лоб», но может спасти нервы и время.
Суть в том, чтобы перед редактированием делать backup файла init.php, и в случае падения Битрикса свободно разворачивать этот backup обратно по HTTP — просто запросом.
Алгоритм решения:
Все довольны, все ок.
Сам скрипт:
$action = $_GET["action"]; if ($action == "backup"): copy ($_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/init.php', $_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/init.php_backup'); if (file_exists($_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/init.php_backup')): echo ('File created'); else: echo ('File created error'); endif; elseif ($action == "recovery"): rename ($_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/init.php', $_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/init.php_error'); rename ($_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/init.php_backup', $_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/init.php'); if (file_exists($_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/init.php_error')): echo ('Restore completed'); else: echo ('Restore error'); endif; endif;