Отладка, решение проблем с сессией

Модуль расширенного управления меню для битрикс

Сентябрь 17, 2024

Теги: Отладка, Решение проблем

Для решения различных проблем, связанных с сессией, можно воспользоваться скриптом для вывода и сохранения параметров сессии.

Данный скрипт выводит общие параметры сессии и cookies в битрикс, а также выводит ту же информацию с последнего обновления страницы, и сохраняет текущую в файл, располагаемый в папке скрипта.


<?php

require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php');
$APPLICATION->SetTitle("Test");

\Bitrix\Main\Loader::includeModule('sale');

ob_start();

echo 
'date = '.date('r')."<br><br>";
if(
\Bitrix\Main\Loader::includeModule('sale'))
{
    
// идентификатор владельца корзины в модуле магазина
    
echo 'fuser = '.\Bitrix\Sale\Fuser::getId()."<br><br>";
}
echo 
'bitrix_sessid = '.bitrix_sessid()."<br><br>";
echo 
'session_id = '.session_id()."<br><br>";

echo 
'$_SESSION = '.var_export($_SESSION,true)."<br><br>";
echo 
'$_COOKIE = '.var_export($_COOKIE,true)."<br><br>";

    
$f ob_get_contents();
ob_end_clean();

echo 
"<table><tr>";

echo  
'<td style="vertical-align:top;"><pre>';
echo 
$f;
echo  
'</pre></td>';

clearstatcache();
$handle fopen(__DIR__."/file.txt""r");
if(
$handle)
{
    
$text=fread($handlefilesize(__DIR__."/file.txt"));
    
fclose($handle);
}

echo  
'<td style="vertical-align:top;"><pre>';
echo 
$text;
echo  
'</pre></td>';

clearstatcache();
$handle fopen(__DIR__."/file.txt""w");
fwrite($handle$f);
fclose($handle);

echo  
'</tr></table>';

require(
$_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

Аналогичный скрипт, но без использования cms битрикс:


<?php

session_start
();
ob_start();

echo 
'date = '.date('r')."<br><br>";
echo 
'session_id = '.session_id()."<br><br>";

echo 
'$_SESSION = '.var_export($_SESSION,true)."<br><br>";
echo 
'$_COOKIE = '.var_export($_COOKIE,true)."<br><br>";
echo 
'session.save_path = '.var_export(ini_get('session.save_path'),true)."<br><br>";
    
$f ob_get_contents();
ob_end_clean();

echo 
"<html><body><table><tr>";

echo  
'<td style="vertical-align:top;"><pre>';
echo 
$f;
echo  
'</pre></td>';

clearstatcache();
$handle fopen(__DIR__."/fileclean.txt""r");
if(
$handle)
{
    
$text=fread($handlefilesize(__DIR__."/fileclean.txt"));
    
fclose($handle);
}

echo  
'<td style="vertical-align:top;"><pre>';
echo 
$text;
echo  
'</pre></td>';

clearstatcache();
$handle fopen(__DIR__."/fileclean.txt""w");
fwrite($handle$f);
fclose($handle);

echo  
'</tr></table></body></html>';

См. также:

← Переход к списку