Cakephp 3.6: Команда как запланированная задача на Linux - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь создать запланированное задание в моем приложении CakePHP. Поэтому я создал под /src/Command/ этот файл: CreateExpensesCommand.php. Когда я запускаю это на своем ноутбуке с Windows через cmd, он работает правильно. Но когда я загружаю его в Plesk и пытаюсь создать scheduled task для запуска каждый месяц, я получаю эту ошибку:

Неустранимая ошибка PHP: класс 'Cake \ Console \ Command' не найден в /app_dir/src/Command/CreateExpensesCommand.php в строке 11

Вот код CreateExpensesCommand.php:

<?php
namespace App\Command;

use Cake\Console\Arguments;
use Cake\Console\Command;
use Cake\Console\ConsoleIo;
use Cake\Console\ConsoleOptionParser;
use Cake\I18n\FrozenTime;
use Cake\Http\Session;

class CreateExpensesCommand extends Command //line 11
{

    public function initialize()
    {
        parent::initialize();
        $this->loadModel('Expenses');
        $this->loadModel('Suppliers');
    }

    public function execute(Arguments $args, ConsoleIo $io)
    {
        $recurringSuppliers = $this->Suppliers->find('all', [
                            'conditions' => ['reccuring'=> 1]
                        ]);
        $now = FrozenTime::now();
        $session = new Session();
        foreach($recurringSuppliers as $recSup){

            $expense = $this->Expenses->newEntity();
            $expense->supplier_id = $recSup->id;
            $expense->amount = $recSup->price;
            $expense->created_date = $now;
            $expense->created_by = 999; //System user
            $expense->year = $now->year;
            $expense->month = $now->month;

            if($this->Expenses->save($expense)){
                $io->out($expense->amount);
            }


        }

    }
}

И это PHP-скрипт, который я запускаю в запланированных задачах Plesk:

app_dir/src/Command/CreateExpensesCommand.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...