Битрикс: проверка системы и pcre.recursion_limit

10.04.2016

Проблема 

Проверка системы падает с ошибкой: 

Передача объектов по ссылке    Успешно
Передача объектов по ссылке    Ошибочный ответ сервера. Не удалось завершить тестирование

Конфигурация:

  • 1С-Битрикс: Управление сайтом 15.5.10
  • Windows7 64
  • XAMPP
  • PHP Version 5.6.15
  • pcre.recursion_limit    100000

Причина

Не найдена и особо не искалась :)

Решение

Отключаем эту проверку

Файл: bitrix\modules\main\classes\general\site_checker.php 

Функция: check_pcre_recursion()

Делаем чтобы всегда возвращала true:

function check_pcre_recursion()
	{
		return true;

		$strRequest = "GET "."/bitrix/admin/site_checker.php?test_type=pcre_recursion_test&unique_id=".checker_get_unique_id()." HTTP/1.1\r\n";
		$strRequest.= "Host: ".$this->host."\r\n";
		$strRequest.= "\r\n";

		if ($res = $this->ConnectToHost())
		{
			if ('SUCCESS' == $strRes = GetHttpResponse($res, $strRequest, $strHeaders))
				return true;
			if ($strRes == 'CLEAN')
				return $this->Result(null, GetMessage('SC_PCRE_CLEAN'));
		}
		return false;
	}

 

Решение было найдено тут: http://max22.ru/pitfalls/site-checker/

Потом утеряно

Потом найдено у себя в коде

Написан пост

И снова найдено на: http://max22.ru/pitfalls/site-checker/

¯\_(ツ)_/¯