Заметки
Как правильно подключать prolog_before.php в CLI-скрипте
Для CLI-скрипта в /local/tools сначала задайте корень сайта, затем подключите служебный пролог. Ограничение PHP_SAPI не позволит случайно запустить эту команду через браузер.
<?php
if (PHP_SAPI !== 'cli') {
http_response_code(403);
exit;
}
$_SERVER['DOCUMENT_ROOT'] = dirname(__DIR__, 2);
define('NO_KEEP_STATISTIC', true);
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
if (!\Bitrix\Main\Loader::includeModule('crm')) {
throw new RuntimeException('Модуль crm не подключён.');
}
echo 'CRM подключена' . PHP_EOL; Запускайте файл под служебным пользователем, у которого есть нужные права ОС. Подключение пролога загружает ядро, но не авторизует команду автоматически от имени конкретного сотрудника.
Если дальнейший код работает с CRM-операциями, задайте доверенный контекст пользователя явно. Публичный endpoint и служебная консольная команда требуют разных проверок.