Раньше работало, но в какой то момент перестало работать
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Продажи");
$MAINUSER = '3';
CModule::IncludeModule('highloadblock');
use Bitrix\Highloadblock\HighloadBlockTable as HLBT;
//Функция получения экземпляра класса:
function GetEntityDataClass($HlBlockId)
{
if (empty($HlBlockId) || $HlBlockId < 1){return false;}
$hlblock = HLBT::getById($HlBlockId)->fetch();
$entity = HLBT::compileEntity($hlblock);
$entity_data_class = $entity->getDataClass();
return $entity_data_class;
};
$arFilter = Array("UF_USER"=>$MAINUSER);
//Запросим продажи
$SalesData = GetEntityDataClass(4)::getList(array(
'select' => array('*'),
'filter' => $arFilter
));
// Кешируем запросы
use \Bitrix\Main\Data\Cache;
$obCache = new CPHPCache();
$cacheLifetime = 600; $cacheID = 'sales'.$MAINUSER; $cachePath = '/'.$cacheID;
if( $obCache->InitCache($cacheLifetime, $cacheID, $cachePath) )
{
$vars = $obCache->GetVars();
extract($vars);
}
elseif( $obCache->StartDataCache() )
{
while($el = $SalesData->fetch()){$sales[] = $el;};
$obCache->EndDataCache(array('sales' => $sales));
};
.......
Убираем часть кода из
// Кешируем запросы
use \Bitrix\Main\Data\Cache;
$obCache = new CPHPCache();
$cacheLifetime = 600; $cacheID = 'sales'.$MAINUSER; $cachePath = '/'.$cacheID;
if( $obCache->InitCache($cacheLifetime, $cacheID, $cachePath) )
{
$vars = $obCache->GetVars();
extract($vars);
}
elseif( $obCache->StartDataCache() )
{
while($el = $SalesData->fetch()){$sales[] = $el;};
$obCache->EndDataCache(array('sales' => $sales));
};
Делая так:
// Кешируем запросы
use \Bitrix\Main\Data\Cache;
$obCache = new CPHPCache();
$cacheLifetime = 600; $cacheID = 'sales'.$MAINUSER; $cachePath = '/'.$cacheID;
if( $obCache->StartDataCache() )
{
while($el = $SalesData->fetch()){$sales[] = $el;};
$obCache->EndDataCache(array('sales' => $sales));
};
работает, т.е. как будто не может прочитать кэш из файла.
Сам файл кэша создается, может из-за его размера ошибка (5 мегабайт)? Потому что аналогичный код в другом разделе работает.