Blender(2.80)安装在AWS的homeec2-user目录下。
php在同一台服务器上运行,从varwwwhtmlwed开始。
我可以通过Cli访问。
wed]$ ls /home/ec2-user
列出homeec2-user的内容。
通过php访问。
<?php<br />
$output = shell_exec('ls /home/ec2-user');
echo "<pre>$output</pre>";
?>
列出homeec2用户的内容
我可以通过 cli 运行 Blender。
wed]$ /home/ec2-user/blender280/blender -b -noaudio proj007/font-sample.blend --python proj007/font-samples.py
运行Blender脚本(proj007font-samples.py)并输出663个png文件到varwwwhtmlwedfonts。
但不是通过php。
<?php
$output = shell_exec('/home/ec2-user/blender280/blender -b -noaudio proj007/font-sample.blend --python proj007/font-samples.py');
echo "<pre>$output</pre>";
?>
什么都没有。
命令是复制粘贴的,所以没有错别字。
home、ec2-user和blender280的权限都设置为允许读取和执行。
这可能是Apache的问题吗?
原来我需要php-fpm。事实证明,我无法让php-pm在AWS上使用Amazon Linux工作。用Ubuntu把所有的东西都切换到AWS上(大约一天半的项目),一切都很顺利。