Я хочу получить доступ к терминалу из скрипта PHP, чтобы открыть автономную версию Maya, а затем запустить скрипт Python в Maya из терминала.
Мне удалось отправить команды в Терминал из моего PHP-скрипта с помощью функции exec()
. Например, мне удалось открыть Maya с помощью файла .OBJ, используя следующий код.
//Open Maya with .OBJ
$cmd='open -a /Applications/Autodesk/maya2015/maya.app /Applications/AMPPS/www/webGL/upload/Character.obj';
exec($cmd);
Затем я обнаружил, что могу открыть интерпретатор Maya Python в терминале, используя этот каталог: /Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy
Когда этот каталог выполняется в Терминале, он запускает интерпретатор Maya Python. Когда интерпретатор работает, кажется, что я больше не могу отправлять команды (теперь это код Python) в терминал из моего PHP-скрипта.
Я иду по правильному пути, используя функцию exec()
для выполнения того, что я хочу сделать? Или эта функция просто выполняет отдельные команды, а не несколько команд последовательно в одном терминале? Нужно ли использовать другую функцию, которая отправляет команды в конкретную оболочку, чтобы все команды выполнялись в одном терминале?
Вот код, который я пытался отправить в терминал, чтобы запустить интерпретатор Maya Python, а затем импортировать автономную библиотеку Maya и инициализировать ее.
//Open Maya interpreter
$cmd2="/Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy";
//Import standalone and initialise
$cmd3="import maya.standalone; maya.standalone.initialize( name='python' )"
//Execute commands
shell_exec($cmd2);
shell_exec($cmd3);
mayapy /path/to/script.py
. Убедитесь, чтоmayapy
добавлено к вашему$PATH
-- т.е. добавьте Maya/bin
к вашему пути - person Chris Sprague   schedule 23.06.2016mayapy
из терминала, чтобы увидеть, подхватывается ли он на вашем пути; если нет, вот как добавить в PATH. - person Chris Sprague   schedule 23.06.2016/Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy
, а это путь к скрипту Python, который я хочу запустить в Maya -/Users/Gal/Desktop/Mark's Humane Files/Final Python Files/CreateSkinnedCharacter.py
, то как будет выглядеть команда, отправленная в Терминал ? - person skelto   schedule 23.06.2016/path/to/interp /path/to/script.py
, но я не знаю, так ли работает интерпретатор Maya, просто обычное соглашение интерпретаторов (ruby, python, bash, php и т. д...) - person Chris Sprague   schedule 23.06.2016