簡體   English   中英

在Linux主機上運行Blender腳本

[英]Running a blender script on linux hosting

我目前正在使用網絡應用程序,該應用程序會在Blender中吐出.stl文件。 我已經使用過php,並且正在使用exec()在php中調用腳本。 請查看下面的代碼。 我從Php中找到了代碼:使用cmd命令從php項目中的Blender運行python腳本

$script = "C:\\xampp\\htdocs\\test\\test.py";
$blender_path = "C:\Program Files\Blender Foundation\Blender";

$output = exec("cd $blender_path && blender -b -P $script", $data);
echo "<pre>";
print_r($data);
echo "</pre>";

所有在本地都可以正常工作。 我將內容上傳到我的網站(Linux托管),上傳了Blender(Linux- https://www.blender.org/download/ )更改了路徑,但沒有任何反應。 它甚至不輸出任何錯誤。 Linux是否有單獨的命令行代碼? 我不習慣使用Linux,並且在過去三天里一直在為此苦苦掙扎。

任何幫助表示贊賞。

我可以想到兩種可能性。 第一個是路徑名,在Linux上沒有驅動器號,路徑應類似於/home/aniket/tests/blendtest

第二個問題與運行程序有關,我可能會遇到錯誤,但是您可能必須查看日志文件才能找到它或增加php的詳細程度。 第一點是文件需要將權限設置為可執行文件,這將涉及chmod +x blender或可能使用ftp軟件進行設置,它通常在權限字符串(如RWXRWXRWX表示為X 第二點是在* nix系統上找到命令的方式,有一個PATH環境變量列出了要查找命令的目錄,默認情況下當前目錄不在該列表中,而且我不希望托管公司這樣做添加它。

$script = "/home/aniket/test1/test.py";
$blendexe = "/home/aniket/blender2.76/blender";

$output = exec("$blendexe -b -P $script", $data);
echo "<pre>";
print_r($data);
echo "</pre>";

在* nix系統上,. ./代表當前目錄,因此您可能還可以使用

$output = exec("cd $blender_path && ./blender -b -P $script", $data);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM