- БУС 17.5.12
- Centos 6
- PHP 7.1.7
- SSL, HTTPS
Пытаюсь перевести все агенты на крон
Файл /bitrix/php_interface/cron_events.php
Код |
---|
<?
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/. ./..");
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"]; //проверял, путь определяется правильный
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS",true);
define('CHK_EVENT', true);
//проверяем
mail('mne@ya.ru','test1','test1'); //письмо приходит
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
//проверяем
mail('mne@ya.ru','test2','test2'); //письмо НЕ приходит
@set_time_limit(0);
@ignore_user_abort(true);
CAgent::CheckAgents();
define("BX_CRONTAB_SUPPORT", true);
define("BX_CRONTAB", true);
CEvent::CheckEvents();
if (CModule::IncludeModule("subscribe"))
{
$cPosting = new CPosting;
$cPosting->AutoSend();
}
?>
|
Выявил, что не подгружается пролог.
Запустил через консоль, получил ошибку
Код |
---|
-bash-4.1$ /usr/bin/php -f www/***.ru/bitrix/php_interface/cron_events.php
PHP Parse error: syntax error, unexpected '[' in /var/www/***/data/www/***.ru/bitrix/modules/
main/lib/httprequest.php on line 387
|
Вот кусок кода со строкой 387
Код |
---|
private function fetchHeaders(Server $server)
{
$headers = []; //387
foreach ($server as $name => $value)
{
if (substr($name, 0, 5) === 'HTTP_')
{
$headerName = substr($name, 5);
$headers[$headerName] = $value;
}
}
return $this->normalizeHeaders($headers);
}
|
Подскажите, как решить проблему.