@vladislav997

Почему cron простой PHP скрипт воспринимает, а уже чуть более сложнее — нет?

Подскажите, почему cron простой PHP скрипт воспринимает, а уже чуть более сложнее - нет?

crontab -e:
* * * * * php /var/www/project/includes/mail/cron.php


Воспринимает и срабатывает:
$to = '...';
    $subject = 'Its test msg';
    $message = 'Cron. You login: ';
    $from = "From: noreply@site.com\r\n"
        ."Content-type: text/html; charset=utf-8\r\n"
        ."X-Mailer: PHP mail script";

    mail(
        $to,
        $subject,
        $message,
        $from
    );


Не воспринимает, но если зайти по прямой ссылке - работает:
require '../model.php';
$allUsers = R::findAll('users');

foreach ($allUsers as $user)
{
    $to = $user->login;
    $subject = 'Its test msg';
    $message = 'Cron. You login: '.$user->login.' ';
    $from = "From: noreply@site.com\r\n"
        ."Content-type: text/html; charset=utf-8\r\n"
        ."X-Mailer: PHP mail script";

    mail(
        $to,
        $subject,
        $message,
        $from
    );
}


upd. Логи в скрипте:
5f64688006f42181944200.png
  • Вопрос задан
  • 94 просмотра
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Читайте логи. Например, в базе нет пользователей. Или их слишком много и не хватает памяти. Выполните свой скрипт сами через консоль, включив вывод ошибок. Проблема в скрипте, а не в кроне.
Ответ написан
@vitaly_il1
DevOps Consulting
require '../model.php'

Замените на абсолютный путь. Насколько понимаю, вручную у вас работает только из текущей директории, правильно?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
RecruitIT Москва
от 100 000 до 160 000 ₽
от 130 000 до 180 000 ₽
Сбер Москва
До 240 000 ₽
26 окт. 2020, в 10:48
3000 руб./за проект
26 окт. 2020, в 10:42
30000 руб./за проект
26 окт. 2020, в 10:18
50000 руб./за проект