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