首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从PHP exec() www-data运行mplayer

如何从PHP exec() www-data运行mplayer
EN

Stack Overflow用户
提问于 2015-12-25 12:31:00
回答 2查看 1.2K关注 0票数 1

我有一个家庭服务器与一些图形用户界面播放互联网广播使用mplayer。但当我从服务器上播放它时,它不会播放,apache错误日志显示访问主目录被拒绝。

在创建新的服务之前,我还会使用exec(pkill mplayer)来停止服务。

因此,目前我必须将www-data添加到/etc/sudoer中,并具有所有访问权限,并且它起作用了。我试过了/home/但它也启动不了。

所以我想知道在没有安全风险的情况下从webserver启动mplayer的最好方法是什么。

这是我的代码

exec("pkill mplayer");
exec("mplayer -slave -quiet http://iedm-fl.akacast.akamaistream.net/7/293/156397/v1/auth.akacast.akamaistream.net/iedm-fl </dev/null >/dev/null 2>&1 &");
EN

回答 2

Stack Overflow用户

发布于 2017-02-23 02:06:26

如果您希望声音从服务器传出:

运行sudo adduser www-data audio并重新启动服务器。这将给予用户www-data产生音频的权限。在那之后,你的原始代码应该可以工作了。如果没有,那就试试更简单的方法:

exec("pkill mplayer");
exec("mplayer http://iedm-fl.akacast.akamaistream.net/7/293/156397/v1/auth.akacast.akamaistream.net/iedm-fl&");
票数 1
EN

Stack Overflow用户

发布于 2016-04-26 02:59:38

我猜当你试图从你的/home www-data运行一些东西时,可能没有这个位置的权限。

关于安全性,我不太确定,但是您给了www-data用户以root身份运行mplayer的权限。因此,mplayer很容易受到攻击。

也许您可以将权限隔离到单个脚本,以便为它们运行mplayer。而不是只给这个脚本执行权限,这样它就不会那么容易被编辑了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34460042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档