@riki13
php

Как реализовать запуск консольных команд на php?

Здраствуйте вопрос вот в чем реализую запуск консольных команд на php, использую proc_open, команда выполняется за 5-20 секунд то все нормально, а если больше 30 то не понятно что вообще происходит вот отрывок кода с реализацией
$item->setStatus(Queue::PROCESSING);
        $cmd = $item->task->getCMD();
        $cmd = escapeshellcmd($cmd);
        $path = 'Путь до лог файла';
        $cdw = 'Путь где будут запускаться команды';
        $descript = [
            ["pipe", "r"], // stdin - канал, из которого дочерний процесс будет читать
            ["file", $path, "w"], // stdout - канал, в который дочерний процесс будет записывать
            ["file", $path, "a"] // stderr - файл для записи
        ];
        $this->proc = proc_open($cmd, $descript,$pipes, $cdw);
        $status = $this->getStatus();
        $item->setPID($status['pid']);
        proc_close($this->proc);

        //все что ниже если выполнение занимает больше 30 секунд отпадает если же секунд 15 выполняется
        $message = file_get_contents($path);
        $item->setMessage($message);
        $taskStatus = $this->checkError($message) ? Queue::ERROR : Queue::READY;
        $item->setStatus($taskStatus);

не могу понять в чем причина? с php что то? с конфигом может может еще с чем то? и самое главное как решить проблему?
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:43
1500 руб./за проект
26 апр. 2024, в 10:21
1200 руб./в час