Я запускаю скрипт 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>&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> & 1 в exec для захвата деталей обработки. Как упоминалось ранее, этот процесс работает на моей локальной машине, но не завершается на сервере. Кажется, что процесс застыл, когда я пытаюсь запустить его на сервере.
На сервере я скопировал все пути (пути blender / output) и жестко запрограммированные значения 1 и 2 непосредственно в скрипт Python и запустил его прямо из python. побежал, как и ожидалось, делает это так.