подпроцесс python работает на локальном, но не на сервере

#php #python #subprocess

#php #python #подпроцесс

Вопрос:

Я запускаю PHP-скрипт, который принимает входные данные из HTML-формы и передает значения в скрипт python, который вызывает Blender и запускает скрипт python в Blender. На сервере и на моей локальной машине я тестирую с помощью XAMPP. Ниже приведен фрагмент PHP команды. $value1 и $value2 являются входными данными из формы ранее в процессе.

 //creating the command, and passing time and efficiency; spaces are kept in command because the quotes
$command ="$python $pyscript $value1 $value2 $blender $blenderFile $blenderScript $outputDirFull 2>amp;1";

//executing the command to call processing python program
exec($command, $output, $return_var);
  

Python

 import os
import sys
import subprocess 

#read in values from PHP
value1 = sys.argv[1]
value2 = sys.argv[2]
blender = sys.argv[3]
blenderFile = sys.argv[4]
blenderScript = sys.argv[5]
outputDirFull = sys.argv[6]


#Below is the command to call Blender and run the blender file
command = blender   ' '   blenderFile   ' -P '   blenderScript   ' -- '   value1   ' '   value2   ' '   outputDirFull
subprocess.call(command)
  

Этот процесс работал до внесения нескольких незначительных изменений. Одним из этих изменений было 2> amp; 1 для exec, чтобы зафиксировать детали обработки. Как упоминалось ранее, этот процесс работает на моем локальном компьютере, но не завершается на сервере. Похоже, что процесс заморожен, когда я пытаюсь запустить его на сервере.

На сервере я скопировал все пути (blender / output paths) и жестко закодированные значения 1 и 2 непосредственно в скрипт Python и запустил его прямо из python. выполнялся, как и ожидалось, таким образом.