PHP执行Lua脚本出现问题

我正在使用PHP尝试执行与目录中具有相同名称的脚本。该脚本在本地运行良好,并且http-data用户的权限已设置为能够执行在此PHP代码块中引用的脚本

$cmd = system('th neural_style.lua -style_image'.' ~/'.$style.'.jpg '.'-content_image '.$content_image.' -gpu 0 -backend cudnn -save_iter 1 -cudnn_autotune -output_image /var/www/html/processed/'.$email.'/out.png 2>&1', $retval);
echo '
</pre>
<hr />最近输出:' . $last_line . '
<hr />返回值:' . $retval;

从我理解的内容来看,该脚本应该使用系统方法正常执行,我知道变量看起来有些混乱,但这是我从PHP收到的错误信息:

sh:th:command not found

我将默认解释器从dash更改为bash,以为可能有问题,可仍然不行。Torch与脚本在相同的目录中,并且如我所说,作为我的登录运行良好。

我知道我尝试做的事情有些亵渎,如果有更好的方法可以在网页上接受用户输入并运行需要大约8分钟的脚本,我很想知道。这只是我自然而然想到的东西。无论如何运行它,我都希望能够在完成过程时通知用户发送一封电子邮件。

编辑:任何提到“http-data”的地方都应该说“www-data”。

点赞
用户1190388
用户1190388

将您的http-data用户的默认 shell 更改为 bashdash。当前正在使用 sh

检查 PHP 环境中的 $PATH 变量。

2016-07-01 17:56:44