【发布时间】:2014-04-09 08:16:30
【问题描述】:
我需要将一个变量从 php 传递到 blender 中的 python 脚本。
基本上这应该可以工作:
exec("start cmd /k cd C:\Blender & set arg1='file' & blender -P [path to python file]");
相反,它只是将目录更改为 C:\Blender 并停止。好像 php 的 exec() 不喜欢用 "&" 一个接一个地运行多个命令。
我假设这是因为当我打开 cmd 并键入时:
cd C:\Blender & set arg1='file' & blender -P [path to python file]
它打开搅拌机并运行打印 arg1,(文件)的 python 脚本。
是否有人对如何使用 php.ini 中的 exec() 运行多个命令有任何想法。或者也许我应该尝试一种不同的方法将 php 变量传递给搅拌机 python 脚本。
感谢您的帮助!
【问题讨论】:
-
你能从 php 运行一个 gui 应用程序吗?在 exec() 之前尝试 shell_exec()、chdir()。你在运行安全模式吗?然后只能运行 safe_mode_exec_dir 中的 cmd。此外,您可能想添加
-b以便搅拌机在没有 gui 的情况下运行。在php manual for exec() 上搜索windexec,其中一个示例创建了一个COM 对象来运行一个cmd。
标签: php python exec blender var