Столкнулся с аналогичной проблемой.
PHP 5.3.3
Сессии включены (Session Support: enabled), каталог для сохранения сессий установлен и доступен для записи.
Тут чуть выше подсказали заглянуть в /bitrix/modules/main/install/wizard/wizard.php, но его без лишних усилий не прочитаешь. Однако тут подсказали, что доступность сессий проверяет BXInstallServices::CheckSession(). Код этого метода как раз доступен (/bitrix/modules/main/install/wizard/utils.php):
Посмотрим на один метод выше:
Уж не знаю, что именно хотели сказать разработчики, но с учётом SetSession(), CheckSession(), я считаю, должен выглядеть как-то так:
При таком раскладе во-первых, всё логично: записали, потом проверили, записалось ли, и во-вторых, проверка работает
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" ); } |
При таком раскладе во-первых, всё логично: записали, потом проверили, записалось ли, и во-вторых, проверка работает