Попытка поставить свежескачанный Битрикс или через bitrix_setup например на OpenServer приводит к ошибке "Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 262144 bytes) in \bitrix\modules\main\lib\security\random.php on line 218".
В файле /bitrix/modules/main/lib/security/random.php в методе getStringByCharsets($length, $charsetList) - строка 114 происходит получение рандомной строки.
Что то "ломается" на строке 117, в методе static::getBytes($length).
Временное решение, достаточное для корректной установки:
заменить соответствующую функцию в файле на это:
public static function getStringByCharsets($length, $charsetList)
{
// Временно возвращаем "свою" рандомную строку
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randstring = '';
for ($i = 0; $i < 10; $i++) {
$randstring = $characters[rand(0, strlen($characters))];
}
return $randstring; // Конец
$charsetVariants = strlen($charsetList);
$randomSequence = static::getBytes($length);
$result = '';
for ($i = 0; $i < $length; $i++)
{
$randomNumber = ord($randomSequence[$i]);
$result .= $charsetList[$randomNumber % $charsetVariants];
}
return $result;
}
Установятся все файлы, база данных и модули.
