Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Код в браузере работает, а через cron нет.

00 голосов
6
Есть код, который в браузере работает, а через cron нет:
Код
$work_IBLOCK_ID = 88;

$resIBCODE = CIBlock::GetList(
    Array(), 
    Array("SITE_ID" => "s2", "TYPE" => "katalogned", "ACTIVE" => "Y", "ID" => $work_IBLOCK_ID),
    false
    );
        while($ar_res_IBCODE = $resIBCODE->Fetch())
        {
    $work_IBLOCK_NAME = $ar_res_IBCODE["NAME"];
    $work_IBLOCK_CODE = $ar_res_IBCODE["CODE"];
    echo $work_IBLOCK_NAME." - Наименование инфоблока в переменной work_IBLOCK_NAME<br>";
    echo $work_IBLOCK_CODE." - Символьный код инфоблока в переменной work_IBLOCK_CODE<br>";
        }

Т.е. (когда срабатывает под cron) при известном ID инфоблока – не достается Наименование и код Инфоблока.
Подскажите почему? И как победить данную засаду……
спросил 13 Июнь, 13 от EDKA (980 баллов)

6 Ответы

00 голосов
Надо запустить вручную, то что запускается из под cron  и посмотреть какие ошибки выдает. Подозреваю, что не подключаются модули main и iblock
ответил 13 Июнь, 13 от Apostolq (340 баллов)
00 голосов
спасибо за ответ,
я же написал, что в ручную (из браузера) все работает просто замечательно,

я поискал по форуму,
по всей видимости, дело в том что, скрипт который отрабатывает данный код находиться в директории на которую выставлены права доступа только Администраторам
соответственно когда идет работа по cron то это играет негативную роль......

сейчас буду проверять........
ответил 26 Июнь, 13 от EDKA (980 баллов)
00 голосов
Я имел ввиду "вручную", так же как это делат cron, т.е. не через браузер а в консоле, через вызов php
ответил 29 Сен, 13 от Apostolq (340 баллов)
00 голосов
ok, понял
ответил 30 Дек, 13 от EDKA (980 баллов)
00 голосов
Скорее всего, где то выше есть инклуд с $_SERVER['DOCUMENT_ROOT'] или другой серверной переменной. Поскольку, при запуске из крона массив этих переменных недоступен, возникают ошибки при инклюде.

Запуск скрипта из консоли вам такую ошибку сразу покажет. Что устранить - введите проверку на пустоту переменной и , если пуста - определите явным образом.
ответил 16 Апр, 14 от vos (140 баллов)
00 голосов
Заработало,
сделал как здесь сказано: http://dev.1c-bitrix.ru/community/forums/messages/forum6/topic38414/message210262/#message210262
спасибо MrVoldemar89
ответил 09 Авг, 14 от EDKA (980 баллов)

Похожие вопросы

0 голосов
3 ответов
спросил 26 Фев, 14 от Sekis (180 баллов)
0 голосов
2 ответов
спросил 29 Апр, 13 от Lalya1234 (160 баллов)
0 голосов
2 ответов
0 голосов
3 ответов