В случайный момент времени, скрипт запускаемый кроном перестал работать, а конкретно стал выдавать ошибку Unclosed '{' on line 351 in /var/www/html/bitrix/modules/main/tools.php on line 5309 . Попытался запустить скрипт вручную через терминал, та же проблема, не смотря на то, что ядро битрикс не трогал. Вообще никаких изменений не вносил.
Ошибка падает на строки ob_start и require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
require 'vendor/autoload.php';
use Shuchkin\SimpleXLSX;
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
$isImport=false;
if (php_sapi_name() === 'cli') {
echo "Running in CLI mode\n";
$_SERVER["DOCUMENT_ROOT"] = '/var/www/html';
// Получение параметров командной строки
$options = getopt("", ["XML_LINK:"]);
$xmlSource = isset($options['XML_LINK']) ? $options['XML_LINK'] : '';
// $xmlSource = '/var/www/html/test.xml';
if (empty($xmlSource)) {
die('XML_LINK параметр отсутствует или пустой.');
}
echo "XML Source: $xmlSource\n";
}else{
if($_POST['isImport']==1){
$isImport=true;
}
}
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
use Bitrix\Highloadblock\HighloadBlockTable;
use Bitrix\Highloadblock\HighloadBlockElementTable;
use Bitrix\Main\Loader;
use Bitrix\Main\Entity;
if (!Loader::includeModule('highloadblock')) {
die('Не удалось подключить модуль Highload-блоков');
}
... код для получения данных из xml и запись в highblock ...
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php");
if (php_sapi_name() === 'cli') {
ob_end_flush();
}
?>