За последние 24 часа нас посетили 21732 программиста и 1020 роботов. Сейчас ищут 647 программистов ...

Отлавливать php ошибке в кроне

Тема в разделе "Настройка веб-сервера", создана пользователем IvanKut, 23 ноя 2019.

  1. IvanKut

    IvanKut Активный пользователь

    С нами с:
    27 июл 2018
    Сообщения:
    258
    Симпатии:
    0
    Привет

    Хостер говорит, что скрипты запускаемые через крон ошибки (Нотисы, Фаталы) в лог не пишутся.

    Запускаю я так
    /opt/php71/bin/php -d mbstring.func_overload=2 -d mbstring.internal_encoding=UTF-8 -f path_to_file/cron/fatalError.php

    Подскажите, как можно отлавливать их в скриптах запускаемых через крон?
    Благодарю!
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    В лог вебсервера они очевидно не пишутся, потому что крон не вебсервер.
    Обычно ошибки крон-скрипта отправляются письмом. Вывод скрипта автоматически собирается и шлется на почту. Адрес можно указать в crontab файле:
    Код (Text):
    1.  
    2. MAILTO="webmaster@mysite.ru"
    3.  
    4. */10 * * * * myscript
    альтернативно ты можешь сам указать конвеер в mail:

    Код (Text):
    1.  
    2. */10 * * * * myscript 2>&1 | mail -s "My cron script status" webmaster@mysite.ru
    если хочешь непременно в лог файл, то укажи конвеер
    Код (Text):
    1.  
    2. */10 * * * * myscript 2>&1 >> /path/to/log
    2>&1 означает слить вместе каналы stderr и stdout

    P.S. Пожалуйста выбирай правильный раздел. Вопрос про настройку сервера, а не про PHP. Переношу тему.
     
    #2 artoodetoo, 23 ноя 2019
    Последнее редактирование: 23 ноя 2019
    Roman __construct нравится это.