ImpAnonym
@ImpAnonym

Как правильно запустить скрипт из-под cron в Битрикс24, если там используется $_SERVER["DOCUMENT_ROOT"]?

В общем написал приложение которое подключает
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
, но дело в том, что из-под cron не работает $_SERVER... Можно, конечно, прописать __DIR__, но тогда это сработает лишь единожды, а вот в файле prolog_before.php require ещё модуля include.php, где огромное количество require $_SERVER["DOCUMENT_ROOT"], даже если я там поменяю, то при первом обновлении Битрикса всё слетит.
Как решить проблему?

Лог cron:
PHP Fatal error:  require(): Failed opening required '/bitrix/modules/main/include/prolog_before.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/bitrix/ext_www/site.ru/hook/xmlCreator/xmlCreator.php on line 7
Fatal error: require(): Failed opening required '/bitrix/modules/main/include/prolog_before.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/bitrix/ext_www/site.ru/hook/xmlCreator/xmlCreator.php on line 7
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@vechnokrainii
ну почти всегда(
Вот так) В самомо начале скрипта. Сразу после <?php
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
$_SERVER["DOCUMENT_ROOT"] = "/home/bitrix/www";

require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы