Не считается время старта сессии /bitrix/admin/perfmon_panel.php пишет "измерение..."
Если на прямую получаю результаты старта сессии, то время считается и равно "0.0001", тестирую по такой ссылке
/bitrix/admin/perfmon_panel.php?lang=ru&sessid=123123a8f5b3cd62bd02699515a7c6ca&test=session
&last=n
Код |
---|
elseif(isset($_request["test"]) && $_request["test"] === "session")
{
$s = microtime();
session_start();
$e = microtime();
list($s_sec, $s_usec) = explode(" ", $s);
list($e_sec, $e_usec) = explode(" ", $e);
$t = $e_sec + $e_usec - $s_sec - $s_usec;
if(!is_array($_session["perfmon_session_start"]))
$_session["perfmon_session_start"] = array();
if(isset($_session["perfmon_session_start"]) && is_array($_session["perfmon_session_start"]))
$_session["perfmon_session_start"][] = $t;
var_dump(number_format(array_sum($_session["perfmon_session_start"])/doubleval(count($_session["perfmon_session_start"])), 4, ".", " "));
die();
}
|
Проблема в том, что массив $_session["perfmon_session_start"] не передается в участок где идет подсчет времени старта сессии
Код |
---|
elseif(isset($_request["test"]) && $_request["test"] === "session" && isset($_request["last"]) && $_request["last"] === "y")
{
require_once($_server["document_root"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_server["document_root"]."/bitrix/modules/main/include/prolog_admin_js.php");
includemodulelangfile(__file__);
var_dump($_session["perfmon_session_start"]);die();
if(
check_bitrix_sessid()
&& $application->getgroupright("perfmon") >= "w"
)
{
if(
coption::getoptionstring("security", "session", "n") === "y"
&& cmodule::includemodule("security")
)
{
$result = getmessage("perfmon_panel_session_err")."<span class=\"required\"><sup>3</sup>";
coption::setoptionstring("perfmon", "mark_php_session_time_value", -1);
?><sc ript>
bx('session_time_result').innerhtml = '<?echo $result?>';
</sc ript><?
}
elseif(
isset($_session["perfmon_session_start"])
&& is_array($_session["perfmon_session_start"])
&& count($_session["perfmon_session_start"]) > 0
)
{
$result = number_format(array_sum($_session["perfmon_session_start"])/doubleval(count($_session["perfmon_session_start"])), 4, ".", " ");
coption::setoptionstring("perfmon", "mark_php_session_time_value", $result);
?><sc ript>
bx('session_time_result').innerhtml = '<?echo $result?>';
</sc ript><?
}
}
require_once($_server["document_root"]."/bitrix/modules/main/include/epilog_admin_js.php");
die();
}
|
Из за чего такое может быть? Все остальное работает нормально(если не учитывать очень низкую частоту CPU), проблема только с тестированием сессии.