Битрикс, PHP 7 и restore.php
Если вы еще не восстанавливали/переносили Битрикс на свеженький (или не очень) сервер с PHP 7, то вы счастливый человек. Нет, сам Битрикс на PHP 7 работает более чем хорошо, я бы даже сказал, что намного лучше, чем на 5.X.
Т.е. все прекрасно, кроме самого процесса переноса. Если вы воспользуетесь официальным инструментом от Битрикса – скриптом restore.php, то столкнетесь с проблемами. Собственно, как только дело дойдет до восстановления базы данных – сервер упадает в 500 ошибку, а в логах появится следующая запись:
Т.е. в скрипте по прежнему используется старая библиотекой php для работы с MySQL, вместо mysqli – уже как несколько лет обозначенной, как единственно верное и поддерживаемое решение.
А в PHP 7 больше нет поддержки старой библиотеки для mysql, это известно всем, кроме тех людей которые занимаются скрипом восстановления (я уверен, что им уже сказали, но пока они раскачаются…).
Решение тут понятно простое – восстановить базу руками, что, понятно, несложно. Нет один, два раза без проблем, но на десятый уже конечно надоедает.
Собственно решение тут одно, взять и поправить код скрипта, благо правок так немного. Что и было сделано:
Как только в Битрикс выпустят свою нормальную версию – ссылку заменю на официальный продукт.
Upd: Вышел официальный restore.php с поддержкой mysqli.
Читайте также
В CentOS 7+ и RH 7+ сервисы (в их числе и нужный нам httpd) теперь…
Если вы установили Битрикс в кодировке UTF-8 и собираетесь использовать mPDF для генерации pdf-документов, то…
Ошибка restore.php
1. Скопировал в корень сайта резервную копию сайта созданную БУС
2. Скопировал туда же restore.php
3. Запустил /restore.php
БУС устанавливается без проблем.
Хостинг Majordomo.ru
а что делать, если данная ошибка возникает не на удаленном хостинге, а на локальном и файл заливался не по ftp, а посредством копирования файла из одной папки в другую,
| Цитата |
|---|
| Михаил Митрофанов пишет: Добрый день, |
Описание ошибки и способы её решения приведены ниже:
http://www.1c-bitrix.ru/support/faq/f. 2382#25237
| Цитата |
|---|
| Дмитрий Попов пишет: а что делать, если данная ошибка возникает не на удаленном хостинге, а на локальном и файл заливался не по ftp, а посредством копирования файла из одной папки в другую, |
Михаил Митрофанов пишет:
Добрый день,
Описание ошибки и способы её решения приведены ниже:
http://www.1c-bitrix.ru/support/faq/f. 2382#25237
Господа, эта ссылка не работает, о ОЧЕНЬ хотелось бы посмотреть, как решается проблема с этой ошибкой!
| Цитата |
|---|
| Alexey Erokhin пишет: Господа, эта ссылка не работает, о ОЧЕНЬ хотелось бы посмотреть, как решается проблема с этой ошибкой! |
Fatal error: Unable to read 26374 bytes in /usr/home/eucenter/domains/eu-center.ru/public_html/restore.php on line 0
Системщики хостинга разбираются, в чем проблема.
Если подобная ситуация встречалась, поделитесь секретом, плиз.
В любом случае спасибо.
Ошибка restore.php
1. Скопировал в корень сайта резервную копию сайта созданную БУС
2. Скопировал туда же restore.php
3. Запустил /restore.php
БУС устанавливается без проблем.
Хостинг Majordomo.ru
а что делать, если данная ошибка возникает не на удаленном хостинге, а на локальном и файл заливался не по ftp, а посредством копирования файла из одной папки в другую,
| Цитата |
|---|
| Михаил Митрофанов пишет: Добрый день, |
Описание ошибки и способы её решения приведены ниже:
http://www.1c-bitrix.ru/support/faq/f. 2382#25237
| Цитата |
|---|
| Дмитрий Попов пишет: а что делать, если данная ошибка возникает не на удаленном хостинге, а на локальном и файл заливался не по ftp, а посредством копирования файла из одной папки в другую, |
Михаил Митрофанов пишет:
Добрый день,
Описание ошибки и способы её решения приведены ниже:
http://www.1c-bitrix.ru/support/faq/f. 2382#25237
Господа, эта ссылка не работает, о ОЧЕНЬ хотелось бы посмотреть, как решается проблема с этой ошибкой!
| Цитата |
|---|
| Alexey Erokhin пишет: Господа, эта ссылка не работает, о ОЧЕНЬ хотелось бы посмотреть, как решается проблема с этой ошибкой! |
Fatal error: Unable to read 26374 bytes in /usr/home/eucenter/domains/eu-center.ru/public_html/restore.php on line 0
Системщики хостинга разбираются, в чем проблема.
Если подобная ситуация встречалась, поделитесь секретом, плиз.
В любом случае спасибо.
Где на сайте битрикса скачать свежий restore.php
ссылка на файл тут
ваш_сайт/bitrix/admin/dump_list.php?lang=ru
сам файл тут
ваш_сайт/bitrix/admin/dump_list.php?action=restore.php&sessid=id_сессии
Скрипт restore.php обновляется автоматически, для верности можете скачать его напрямую с нашего сайта: http://www.1c-bitrix.ru/download/scripts/restore.php
Мы понимаем, что это неудобно и просим извинить за это. В самом ближайшем обновлении ошибка будет исправлена.
Но сейчас обойти проблему очень просто: надо в этот файл в начало дописать код:
файлы резервный копий имеют название
20140723_114415_full_6d933620.tar.gz размер 13,7 МБ
20140723_114415_full_6d933620.tar.gz.1 размер 92,6 МБ
20140723_114415_full_6d933620.tar.gz.2 размер 82,6 МБ
20140723_114415_full_6d933620.tar.gz.3 размер 91,2 МБ
20140723_114415_full_6d933620.tar.gz.4 размер 63,1 МБ
20140723_114415_full_6d933620.tar.gz.5 размер 3,24 МБ
еще подозреваю что они могут быть битыми так как размеры файлов разные
При запаковке архива берётся кусок того объёма, которое соответствует ограничению в настройках резервного копирования (например 900мб или 100мб), а потом сжимается. Поэтому если у вас ограничение маленькое, то вы можете получить несколько файлов разного объёма (после сжатия-то размеры одного исходного размера могут получиться архивами разного размера, смотря как сжать получится).
после запуска restore.php
указал с локального диска файлы
дальше начиная с 0 валятся ошибки
Archive is corrupted, wrong block: 28678
Archive is corrupted, wrong block: 28679
Всем привет, такая проблема. Есть бэкап сайта, нужно его как-то восстановить.
50мб) в корень сайта
2. Туда же положил битрикосвый restore.php
3. Запускаю restore.php, жму далее, потом выбираю «Архив загружен в корневую папку сервера» и выбираю там единственный мой бэкап. Жму далее
4. Вижу ошибку:
«Доступны не все части многотомного архива.
Общее число частей: 4″
Сергей Хренасдва
Полностью с вами согласен.
Уже третий рабочий день пытаюсь разобраться как это «чудо инженерной мысли» работает.
Восстановление бэкапа это вообще какой-то бред.
На текущей системе бэкап делался
на только что развернутой чистой, Cent OS обновленной и установленой через ваш баш-скрипт.
Бэкап чистой ситемы завис на 50% после 10 минут и так и не сделался, (ничего не настраивалось ничего не менялось)
Может был какой глюк, но такое повсюду, то работает, то не работает.
Перенести бэкап с одного сервера на другой вообще ад какой-то.
Как вы представляете переносить 30 гигов, выбирая один из трех методов.
1. загрузить с облака
2. загрузить по прямой ссылке
3. загрузить с компьютера
При прямой ссылке можно только вставить одну, ну спасибо и в самом битриксе вы не рекомендуете создавать одним файлом бэкап (а по 100 мб, считайте сколько частей из 30Гб) и то если скормливать системе ссылку она ругается и уходит в редирект
что говорить, если у вас даже форум работает через пень колоду. (пока писал сообщение)
ВСЕ СКАЧЕНО С ВАШЕГО САЙТА, НИКТО НИЧЕГО НЕ ЛОМАЛ В НАСТРОЙКАХ, ПРАВА ДОСТУПА ВЫСТАВЛЕНЫ ПРАВИЛЬНЫЕ/

