2013-11-28 2 views
0

Недавно я добавил задание cron для ежедневного выполнения PHP-файла, но база данных не обновляется, как и в файле PHP. Я предполагаю, что это потому, что задание cron не работает.Задача Cron не выполняет PHP-файл

Вот что я ставлю на cronjob:

@daily /etc/cron.php (located by executing crontab -l) 

    -- php file -- 
    $db = new PDO("dsn", "username", "password"); 
    $db->exec("UPDATE subscriptions SET exp_date = exp_date - 1 WHERE payment_status = 'Completed'"); 

Поле EXP_DATE устанавливается на 32, когда пользователь делает покупку, но это не вычитается 1 через cronjob у меня на месте.

Любая помощь будет оценена по достоинству.

+1

Проверьте ваш скрипт работает нормально, в консоли, с 'PHP/и т.д./cron.php', если у вас есть какой-то путь, используя, например,' $ _SERVER' вар вы получите сообщение об ошибке. –

+0

он действительно работал, хотя после проверки базы данных – user2101411

+0

вы добавили 'php' перед командой в crontab? '@daily php/etc/cron.php' –

ответ

1

используйте crontab -e и попробуйте использовать следующий код.

0 0 * * * <path>/php /etc/cron.php 

Это будет работать каждый день в 00:00, и вы должны дать правильный путь к PHP (пример: /usr/bin/php5)

Примечание: Предположим, что ваш файл работает хорошо в CLI.

Если нет tr с последующим разрешением и повторите попытку.

chmod a+x /etc/cron.php 
Смежные вопросы