无法让PHP执行Lua脚本

时间:2016-07-01 17:52:25

标签: php bash lua environment-variables torch

所以我正在使用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 />Recent output: ' . $last_line . '
<hr />Return value: ' . $retval;

根据我的理解,脚本应该使用系统方法执行正常,我知道变量看起来很乱,尽管这是我从PHP得到的错误:

  

sh:th:命令未找到

我将我的默认解释器设置为bash,而不是破坏思维,这可能是一个问题,没有骰子。火炬在同一个目录中,就像我说的那样,我的登录运行正常。

我知道我试图以某种方式做的事情就像亵渎神明一样,如果有一个更好的方法来运行一个大约需要花费8分钟来完成的脚本,使用网络上的一些用户输入,我想知道。这就是我自然而然的事情。我希望在流程完成后通过电子邮件通知用户,所以任何执行方式都是花花公子。

编辑:提及&#34; http-data&#34;应该说&#34; www-data&#34;。

1 个答案:

答案 0 :(得分:0)

http-data用户的默认shell更改为bashdash。它目前正在使用sh

检查您的$PATH变量在PHP环境中的位置。