PHP:通过命令行从php项目运行Blender中的Python脚本

0 投票
1 回答
508 浏览
提问于 2025-04-18 05:58

我需要在命令行(cmd)中运行一个Blender的Python脚本,并从一个PHP项目中打印结果,但我没有得到全部的结果。

这是我的代码:

$script = "C:\Users\madalina\Desktop\workspace\script.py";
$blander_path = "C:\Program Files\Blender Foundation\Blender";
$output = shell_exec("cd $blander_path && blender -b -P script.py -- $json");
print_r($output);

这是我收到的内容:

找到捆绑的Python: C:\Program Files\Blender Foundation\Blender\2.69\python Blender退出

而当我直接从命令行运行同样的脚本时,我得到的是:

在这里输入图片描述

我该如何才能在我的PHP项目中运行同样的脚本时得到相同的响应?(我使用的是Blender 2.69)

1 个回答

0

我解决了这个问题。我把system_exec命令换成了exec,并把json对象用引号括起来。

这是我现在的代码:

$json = str_replace("\"", "\\\"",  json_encode($jsonArray));
$script = "C:\Users\madalina\Desktop\workspace\script.py";
$blander_path = "C:\Program Files\Blender Foundation\Blender";
$output = exec("cd $blander_path && blender -b -P $script -- \"$json\"", $data);
print_r($data);

撰写回答