Laravel 6.18.2: класс Process основан на proc_open, который недоступен в вашей PHP установке - PullRequest
0 голосов
/ 08 апреля 2020

Я использовал задание 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 один раз и затем вызывайте функцию расписания каждую минуту.

1 Ответ

0 голосов
/ 08 апреля 2020

Как указано выше, убедитесь, что Flare не собирает git информацию (он попытается открыть процесс git и получить информацию о ветвях и тегах).

In flare. php (config / flare. php):

'collect_git_information' => false 
'reporting' => [
     'anonymize_ips' => true,
     'collect_git_information' => false,
     'report_queries' => true,
     'maximum_number_of_collected_queries' => 200,
     'report_query_bindings' => true,
     'report_view_data' => true,
],

Теперь это исправлено на моем экземпляре cPanel только после того, как я очистил конфигурацию и кэширование маршрутов . Убедитесь, что у вас ничего не кэшировано, и ваш OPCache также очищен.

Из того, что я вижу, когда я смотрю на код, Flare - единственная библиотека, которая вызывает proc_open. Если это по-прежнему не работает, попробуйте отключить режим отладки.

...