linux下php调用ant无法执行任何target

发布于 2021-11-18 12:43:24 字数 418 浏览 362 评论 5

我想通过php调用ant脚本来编译android apk

服务器用的是linux

ant脚本也写好了在root用户下是没有问题可以执行 默认的targe 

比如我默认的targe写 test。root 用户下是可以执行该targe的。echo出相应的信息。

但是如果用php来调用就是不能执行。

只能打印出ant脚本在加载的时候 的一些echo打印信息。

把ant的命令写到shell脚本里面也不能执行。

同样的shell脚本用root用户就可以正常执行了


还麻烦各位帮忙分析一下是哪里的问题。

我自己分析会不会可能是权限方面的问题。

麻烦各位了。


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

泛滥成性 2021-11-22 05:50:22

回复
$a = exec('ant'); var_dump($a); 打印出来是string(0) "" 为空不执行,但是在linux系统上我ant命令可以出来,而且还可以打包安卓apk,但是php调用就是不行,不知道你们问题解决没有,请教一下,谢谢

天涯离梦残月幽梦 2021-11-21 18:16:07

回复
$a = exec('ant'); var_dump($a); 打印出来是string(0) "" 为空不执行,但是在linux系统上我ant命令可以出来,而且还可以打包安卓apk,但是php调用就是不行,不知道你们问题解决没有,能说一下你的最后的解决方案吗,请教一下,谢谢

樱花落人离去 2021-11-20 15:52:13

回复
@黄华东 用php调用是可以的, exec('/usr/local/ant/bin/ant > /home/ftp/ant/logs/'.$unpackApp['id']) ;ant命令已经存到环境变量,但是php直接执行还是不行,必须用绝对路径/usr/local/ant/bin/ant才可以执行到

醉生梦死 2021-11-20 07:23:09

同样都是shell,但是你必须确定通过http访问时所用的user是否对ant脚本有执行的权限?

画骨成沙 2021-11-20 01:21:34

同样都是shell,但是你必须确定通过http访问时所用的user是否对ant脚本有执行的权限?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文