Столкнулся с аналогичной проблемой.
PHP 5.3.3
Сессии включены (Session Support: enabled), каталог для сохранения сессий установлен и доступен для записи.
Тут чуть выше подсказали заглянуть в /bitrix/modules/main/install/wizard/wizard.php, но его без лишних усилий не прочитаешь. Однако тут подсказали, что доступность сессий проверяет BXInstallServices::CheckSession(). Код этого метода как раз доступен (/bitrix/modules/main/install/wizard/utils.php):
Код |
---|
function CheckSession()
{
if (!function_exists("session_start"))
return false;
session_start();
return ( isset($_SESSION["session_check"]) && $_SESSION["session_check"] == "Y" );
}
|
Посмотрим на один метод выше:
Код |
---|
function SetSession()
{
if (!function_exists("session_start"))
return false;
session_start();
$_SESSION["session_check"] = "Y";
return true;
}
|
Уж не знаю, что именно хотели сказать разработчики, но с учётом
SetSession(),
CheckSession(), я считаю, должен выглядеть как-то так:
Код |
---|
function CheckSession()
{
//if (!function_exists("session_start"))
// return false;
//session_start();
//self::SetSession();
return ( BXInstallServices::SetSession() && isset($_SESSION["session_check"]) && $_SESSION["session_check"] == "Y" );
} |
При таком раскладе во-первых, всё логично: записали, потом проверили, записалось ли, и во-вторых, проверка работает