Как исправить выполнение длительного процесса с использованием python в php

#php #python

#php #python

Вопрос:

Я пытаюсь запустить скрипт на Python, который действует как make-файл с использованием PHP, проблема в том, что завершение работы скрипта на python займет до 1 минуты, и в конце он будет выведен (завершен). Когда я запускаю его с помощью php, это занимает несколько секунд и выводит полную строку из скрипта python. что-то нарушает процесс, и я не знаю, что.

             $default = ini_get('max_execution_time');
            set_time_limit(0);
            ini_set('max_execution_time',2*60);
            ignore_user_abort();
            echo shell_exec('python3 make.py /var/www/html/files'); 
            set_time_limit($default);   
  

Ожидаемый результат должен быть завершен после длительного процесса.

Фактический результат: несколько секунд, и я завершаю.

Скрипт Python работает нормально, полностью протестирован.

Комментарии:

1. Подождите, значит, вы получаете сообщение «Завершено» через несколько секунд? В этом случае ваша ошибка, вероятно, в скрипте Python, потому что PHP ведет себя так, как ожидалось, нет?

2. Привет, скрипт Python работает отлично, если я его запущу, это займет около минуты, и после этого сообщение будет завершено, но когда я запускаю его с помощью php, я думаю, что он пропускает или завершает длительный процесс и завершает печать

3. При запуске приходят на ум две вещи shell_exec , вы запускаете скрипт py из другого местоположения (папки), чем то, из которого вы обычно запускаете свой скрипт. Является ли ваша папка скрипта / местоположение независимым? Кроме того, при запуске shell_exec вы будете запускать скрипт py с использованием другого пользователя , поэтому может случиться так, что у этого другого пользователя нет необходимых разрешений, поэтому сценарий py завершается преждевременно.