Я использовал задание cron для выполнения некоторой операции CRUD с использованием laravel Планирование задач. На localhost работает нормально. Но на моем общем хосте я получаю эту ошибку.
2020-04-08 16:56:01] local.ERROR: The Process class relies on proc_open, which is not available on your PHP installation. {"exception":"[object] (Symfony\\Component\\Process\\Exception\\LogicException(code: 0): The Process class relies on proc_open, which is not available on your PHP installation. at /home/deshiit/public_html/bangladesh-railway-server/vendor/symfony/process/Process.php:143)
[stacktrace]
Но на локальном хосте все работает нормально. Я связался с моей хостинговой компанией, чтобы удалить форму proc_open и отключить функции PHP, но они не могут. Я попробовал решение, данное здесь . Но это решение не работает.
Моя PHP версия ea-php73
. Я также попытался ea-php71
и ea-php72
.
В app/Console/Kernel.php
, если я добавлю ->withoutOverlapping();
после моей команды,
protected function schedule(Schedule $schedule)
{
Log::info('Cron Job Started 1.1');
$schedule->command('outlier:data')
->everyMinute()
->withoutOverlapping();
}
, то ошибка proc_open выдаст только один раз, а затем
protected function schedule(Schedule $schedule)
вызывается каждую минуту, но он не выполняет функцию handle ()
public function handle()
{
Log::info('Cron Job Started 2.1 in Commands/FindOutlier.php');
}
Но если я Clear Cache
, снова он выдает ошибку proc_open один раз и затем вызывайте функцию расписания каждую минуту.