我想使用 PHP 在我的服务器上播放声音文件。PHP 脚本由 Apache 调用,并在用户“nobody”下运行,默认情况下该用户无权访问扬声器。因此,我创建了一个新用户,soundoutput
允许该用户播放声音并对其应播放的声音文件具有读取权限。
如果我以 root 身份登录,我可以使用 播放声音文件echo password | sudo -Su soundoutput mpg321 '/path/to/sound.mp3'
。问题是,当我使用 PHP 的 执行此命令时,它不起作用system_exec
。我猜用户 nobody 无权运行 sudo,但我该怎么做才能让他这样做?
任何帮助均感激不尽。
答案1
以 httpd 而不是 nobody 的身份运行 Apache,然后运行:
# gpasswd -a httpd audio
这应该授予 httpd 用户音频权限。
另外,目标是什么?你考虑过 MPD 吗?如果你只是想播放音乐,有无数的网络客户端可以使用。