Restore php ошибка 500

Если вы еще не восстанавливали/переносили Битрикс на свеженький (или не очень) сервер с PHP 7, то вы счастливый человек. Нет, сам Битрикс на PHP 7 работает более чем хорошо, я бы даже сказал, что намного лучше, чем на 5.X.

Т.е. все прекрасно, кроме самого процесса переноса. Если вы воспользуетесь официальным инструментом от Битрикса – скриптом restore.php, то столкнетесь с проблемами. Собственно, как только дело дойдет до восстановления базы данных – сервер упадает в 500 ошибку, а в логах появится следующая запись:

PHP Fatal error:  Uncaught Error:Call toundefined functionmysql_connect()in/var/www/html/restore.php:1328

Stack trace:

#0 /var/www/html/restore.php(670): CDBRestore->Connect()

#1 {main}

  thrown in/var/www/html/restore.php on line1328

Т.е. в скрипте по прежнему используется старая библиотекой php для работы с MySQL, вместо mysqli – уже как несколько лет обозначенной, как единственно верное и поддерживаемое решение.
А в PHP 7 больше нет поддержки старой библиотеки для mysql, это известно всем, кроме тех людей которые занимаются скрипом восстановления (я уверен, что им уже сказали, но пока они раскачаются…).

Решение тут понятно простое – восстановить базу руками, что, понятно, несложно. Нет один, два раза без проблем, но на десятый уже конечно надоедает.

Собственно решение тут одно, взять и поправить код скрипта, благо правок так немного. Что и было сделано:

  • Убран код, который скачивает свежую версию скрипта с Битрикса и подменяет текущий файл;
  • Собственно все старые не поддерживаемые функции заменены на аналоги из mysqli

Скачать: bitrix_restore_php7

Как только в Битрикс выпустят свою нормальную версию – ссылку заменю на официальный продукт.

Upd: Вышел официальный restore.php с поддержкой mysqli.

21.11.2021

HTTP Error 500 при установке через restore.php

Пытаюсь установить Битрикс на хостинге и получаю в браузере ошибку HTTP Error 500. Панель управления хостингом FastPanel, VPS. Все по-умолчанию, никаких кастомных конфигураций не делал.

Решение:
Переключить в хостинг панели версию PHP на более новую версию (в данном случае переключил с php54 на php74) и всё заработало.

Автор проекта: Dimos
Заметки программиста, дизайнера, геймдев-мастера.
Делюсь опытом.

При попытке запустить битрикс файл restore.php получаю ошибку Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.
Первоначально ошибку связывал с тем, что сайт был создан в однобайтовой кодировке, а файл restore.php был в кодировке UTF-8
В результате сервер не мог обработать запрос. После смены кодировки файла restore.php на WINDOWS-1251 проблема не была решена.

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

500 Internal Server Error.png

11.06.2023
Проблема кеширования битрикс меню подразделов
В новой версии обновления битрикс вылезла проблема с кешем меню выпадающих пунктов раздела (меню вида .тип_меню.menu_ext.php). При переходе по ссылкам в боковом меню раздела всегда будет подменю раздела на который зашли впервые и после этого наглухо закешируется, т.е. пункты подменю всегда одни и теже и не меняются. Отключать кеширование компонента не есть правильно, и не рекомендуется.
ID: 459

08.06.2023
Один важный Seo совет владельцам битрикс сайтов
Владельцам битрикс сайтов редакции от Стандарт и выше, я рекомендую отключать редиректы в проактивной защите для /bitrix/redirect.php и /bitrix/rk.php
ID: 458

04.06.2023
SLAM Продуманная форма обратной связи
На днях обнаружил, что многие бесплатные модули пропали из маркетплейс когда битрикс отключил их из-за отсутствия поддержки РНР 8.1. Хороший модуль SLAM Продуманная форма обратной связи пал в неравной борьбе
ID: 457

Просмотров: 32842
Дата последнего изменения: 22.07.2020

Сложность урока:

3 уровень — средняя сложность. Необходимо внимание и немного подумать.

4

5

Ошибка сервера может быть вызвана различными причинами, поэтому ее диагностика достаточно сложна и трудоемка. Это не является ошибкой «1С-Битрикс: Управление сайтом». Она часто возникает на разделяемом хостинге из-за ограничения ресурсов системы.

При возникновении ошибки сервера в первую очередь необходимо просмотреть файл сервера error.log. В этом файле может содержаться строка с кодом ошибки.

  • Типичным примером причины возникновения ошибки сервера может быть превышение разрешенных прав на хостинге.

    Например, происходит попытка выполнить файл с атрибутами, не разрешёнными для запуска на сервере (например, файл имеет атрибуты 0755, а допускается 0711).

  • Также возможной причиной может быть наличие лимита по времени на исполнение php-скриптов;
  • Или у системы нет прав на запись или чтение файла и др.
  • Другой распространенной причиной возникновения внутренней ошибки сервера является нарушение конфигурации сервера или попытка использования неразрешенных инструкций, например, в файле .htaccess. В этом случае необходимо закомментировать либо удалить строку, содержащую неразрешенную директиву, в соответствующем файле (например, .htaccess).
  • Обратите внимание, если PHP работает как CGI, то 500 ошибка на сервере может быть вызвана фатальной ошибкой PHP. В этом случае рекомендуется выполнить проверку программного кода и диагностировать ошибку.
  • Внутренняя ошибка сервера может возникнуть при запуске из-под Apache CGI-скрипта, время исполнения которого превышает время, отведенное на выполнение скрипта в настройках сервера.

Таким образом, всё зависит от конфигурации сервера.

Важно понимать, указанные ограничения не настраиваются через настройки PHP в php.ini.

В нормальной ситуации такая ошибка и её причина фиксируется в логах сервера. В этом случае пользователю рекомендуется обратиться к хостеру с просьбой указать, что является причиной возникновения ошибки и попросить её устранить (например, увеличить ресурсы). Если хостер не смог найти решение — обратитесь в техподдержку компании «1С-Битрикс» с точным указанием того, как ошибка происходит и какие причины указал хостер. Без указания причины ошибки техподдержка помочь вам не сможет.


8

ответов

возможно вконце файла добавить ?>


Сергей Омелянчук

возможно вконце файла добавить ?>

Добавил, ничего не поменялось


wywwyw

Добавил, ничего не поменялось

У меня на днях была ситуация такая же с ним, раскатил в итоге на php 7.4, добавил в конце то что писал выше и вначале файла <?php поменял на <? после этого ошибка ушла.


Сергей Омелянчук

возможно вконце файла добавить ?>

И пробелов еще потом.
Закрывающий тег ?> в конце файла вреден.


Eugene Zhukov

И пробелов еще потом.
Закрывающий тег ?> в конце ф…

соглашусь, но у меня ругалось именно на этот момент


Сергей Омелянчук

У меня на днях была ситуация такая же с ним, раска…

уфффф…а просто перенести файлы и дамп бд загрузить, так заработает? просто всегда делал через restore php


Сергей Омелянчук

соглашусь, но у меня ругалось именно на этот момен…

На отсутствие закрывающего? А текст ошибки показать можете?

Вот на конструкцию
<?phpмой код без переноса строки или комментарий
— да, падает.


Eugene Zhukov

На отсутствие закрывающего? А текст ошибки показат…

сейчас попытался воспроизвести, всё завелось с дефолтным файлом 🤷‍♂️

Похожие вопросы

  • Restart trusted cs go ошибка
  • Resident evil 8 ошибка re8exe
  • Resident evil 8 village ошибка 21мб
  • Resident evil 8 village не запускается ошибка стим
  • Resident evil 8 village выдает ошибку steam is currently in offline mode