JohnHankok
@JohnHankok

Как победить ошибку 500 в 1С-Битрикс: УС?

Всем привет!

Коллеги, нужна помощь. После обновления до PHP 8.1.27 1С-Битрикс: УС выдает ошибку 500. Админка полностью работает.
Не работает только сайт, но при этом все файлы закрепленные на сайте по абсолютному пути скачиваются из папки /upload. Фавиконка также работает. Все пройдённые тесты зеленные. В логах веб сервера нет ничего. Прогнал bitrix_server_test все зеленое, кроме Обработка .htaccess: Нет. На предыдущей версии PHP 7.4 .все работало. В .htaccess ничего не менял. Все обновления встали отлично. Буду очень признателен за наводку куда плыть.

Файл index в консоли браузера

<link rel="canonical" href="http://<pre>[Error]
Undefined constant &quot;HTTP_HOST&quot; (0)
/var/www/user/data/www/example.ru/local/templates/example_main/header.php:12
#0: include_once
	/var/www/user/data/www/example.ru/bitrix/modules/main/include/prolog_after.php:120
#1: require(string)
	/var/www/user/data/www/example.ru/bitrix/modules/main/include/prolog.php:11
#2: require_once(string)
	/var/www/user/data/www/example.ru/bitrix/header.php:1
#3: require(string)
	/var/www/user/data/www/example.ru/index.php:2
----------
</pre>



/var/www/user/data/www/example.ru/local/templates/example_main/header.php:12

<link rel="canonical" href="http://<?=$_SERVER[HTTP_HOST].$APPLICATION->GetCurPage(true);?>">



/var/www/user/data/www/example.ru/bitrix/modules/main/include/prolog_after.php:120

include_once($_SERVER["DOCUMENT_ROOT"] . SITE_TEMPLATE_PATH . "/header.php");



/var/www/user/data/www/example.ru/bitrix/modules/main/include/prolog.php:11

require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_after.php");



/var/www/user/data/www/example.ru/bitrix/header.php:1

<?require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog.php");?>



/var/www/user/data/www/example.ru/index.php:2

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
Он же вам дословно говорит где ошибка. Вот исправленный вариант, добавлены кавычки
<link rel="canonical" href="http://<?=$_SERVER["HTTP_HOST"].$APPLICATION->GetCurPage(true);?>">
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
$_SERVER[HTTP_HOST]

а должно быть $_SERVER['HTTP_HOST']
В PHP 8 окончательно отказались от преобразования неопределённых констант в строки.
и у Вас в ссылке 'http://' , в 2024 году это уже моветон.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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