Я пытаюсь создать запланированное задание в моем приложении 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