Как поставить на cron скрипт с Битрикс API через консоль?
Ставлю на cron скрипт, использующий Битрикс API.
Сам скрипт положил в php_interface/include
Для начала пытаюсь выполнить скрипт через консольку
/usr/bin/php-cgi /home/bitrix/ext_www/dev.site.ru/local/php_interface/include/cron.php
Консолька выбрасывает разметку формы авторизации.
Пробовал бросить скрипт даже в корень - не помогает.
Как сделать так, чтобы он отрабатывал без запроса авторизации?
Антон, ага, сейчас научишь.
Пожалуйста, пожалуйста, никогда не надо делать админскую авторизацию на кроне. Никогда! В Битриксе нет функционала который нельзя было бы настроить на выполнение с учётом прав доступа.
Алексей Емельянов,
Код был практически пуст, просто подключал пролог и вылетала ошибка) не стал его прилагать, так как это не относилось к сути вопроса)
Спасибо большое за помощь, теперь все почти отлично, только вот не могу понять, почему не срабатывает метод
CIBlockSection::GetByID($idSection);
Модули iblock и catalog подключил еще в самом начале.
Консолька не ругается, на var_dump() ничего не отображает даже.
Этот же скрипт с браузера нормально все в var_dump() показывает. Предполагаю, что надо, наверное, еще какую-то константу определить, только вот какую?
Алексей Емельянов, не пустое, уверен. Отладкой шарил.
Да и этот же скрипт отрабатывает в браузере по адресу нормально.
То есть разница именно в том, что в одном случае я запускаю скрипт с консоли.
Алексей Емельянов, разобрался, оказывается, нужно использовать не CIBlockSection::GetByID, а CIBlockSection::GetList с параметром 'CHECK_PERMISSIONS' => 'N', чтобы не проверялись права.
В CIBlockSection::GetByID они проверяются по умолчанию.