max_execution_time составляет 240 секунд - превышено время ожидания 60 секунд - PullRequest
0 голосов
/ 03 апреля 2020

Я использую этот пакет для запуска моего bash:

use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;

Я получил эту ошибку, когда хочу запустить свой bash внутри laravel:

Процесс *** / my. sh превысил тайм-аут 60 секунд.

$process = new Process('sh ***/my.sh');
       $process->run();

       // executes after the command finishes
       if (!$process->isSuccessful()) {
          throw new ProcessFailedException($process);
       }

my max_execution_time внутри phpinfo - 240. Я перезапустил свой сервер. мой safe_mode выключен. Я использовал эту функцию:

set_time_limit(0);

над моим кодом, но через 60 секунд я получил то же сообщение об ошибке. мой .htdaccess составляет 240 секунд.

есть идеи?

1 Ответ

1 голос
/ 03 апреля 2020

Класс Process имеет собственный тайм-аут в соответствии с Документами процесса :

По умолчанию процессы имеют тайм-аут 60 секунд, но вы можете изменить его передача другого тайм-аута (в секундах) методу setTimeout():

use Symfony\Component\Process\Process;

$process = new Process('sh ***/my.sh');
$process->setTimeout(240);
$process->run();

Также следует проверить idleTimetout, если процесс может занять много времени без вывода каких-либо данных:

$process->setIdleTimeout(240);

В документах ничего не говорится об использовании 0 в качестве неограниченного.

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