Где я могу указать мой рабочий путь Cron?

0

Я использую Zend Framework 2 и хочу запустить работу Cron. Я создал модуль для обработки всех моих заданий cron. Внутри моего CronController я хотел бы запустить действие.

Контроллер Cron

   public function indexAction() 
{
     $appointmentEmail = new ReminderAppointmentEmail;                  
     $appointmentEmail->SendReminderEmail();
}

Module.config

'console' => array(
    'router' => array(
        'routes' => array(
            'cron' => array(
                'options' => array(
                    'route'    => 'sendTest',
                    'defaults' => array(
                        'controller' => 'Cron\Controller\Cron',
                        'action' => 'index'
                    )
                )
            )
        )
    )
)

Где указать путь задания cron? Является ли это контроллером php или индексом php? У меня были проблемы с обоими.

Ниже приведен мой код cron (в других столбцах)

usr/bin/php -q /home/**user**/public_html/public/index.php sendTest
  • 0
    Он должен работать на основе stackoverflow.com/questions/19768948/… . Однако, похоже, он работает с индексом реального сайта (на основе системной электронной почты)
  • 0
    Похоже, ZF неправильно определяет, что это запрос CLI. У вас есть эта проблема на вашем рабочем сервере или локальном компьютере? Что выводит php -r "echo PHP_SAPI;" с той же машины?
Показать ещё 4 комментария
Теги:
cron
zend-framework
zend-framework2

1 ответ

1
Лучший ответ

По информации в своем комментарии вы должны иметь возможность изменить команду cron на:

/usr/bin/php-cli /home/**user**/public_html/public/index.php sendTest

и он должен работать как ожидалось (или, по крайней мере, дать вам лучшее сообщение об ошибке).

  • 0
    сработало, большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню