gpt4 book ai didi

php - 使用PHP在服务器上播放音频

转载 作者:行者123 更新时间:2023-12-03 00:32:04 25 4
gpt4 key购买 nike

一旦有人访问我的网页,我试图使用PHP在服务器端上播放声音
它在Nginx / Php5(树莓派)上运行。

这就是我试图做到的:

我已经执行了命令:

sudo usermod -aG audio www-data

php文件:
<?php
$audio = shell_exec('sh play.sh');
echo $audio;
?>

但这没有任何结果。

使用相同的方法运行“id”命令会导致:
uid=33(www-data) gid=33(www-data) groups=33(www-data),29(audio),44(video)

我不知道它是否相关,但:
ls -lah /dev/snd

drwxr-xr-x 3 root root 160 Oct 26 17:22 .
drwxr-xr-x 15 root root 3.5K Oct 26 17:22 ..
drwxr-xr-x 2 root root 60 Oct 26 17:22 by-path
crw-rw----+ 1 root audio 116, 0 Oct 26 17:22 controlC0
crw-rw----+ 1 root audio 116, 16 Oct 26 17:22 pcmC0D0p
crw-rw----+ 1 root audio 116, 17 Oct 26 17:22 pcmC0D1p
crw-rw----+ 1 root audio 116, 1 Oct 26 17:22 seq
crw-rw----+ 1 root audio 116, 33 Oct 26 17:22 timer

执行以下命令将正确播放文件:
sudo -u www-data play ding.mp3

但是使用以下方法:
sudo -u www-data sh play.sh

结果:
Sorry, user www-data is not allowed to execute '/usr/bin/play /var/www/ding.mp3' as www-data on raspberrypi.

该脚本包含以下内容:
#!/bin/sh
sudo -u www-data /usr/bin/play '/var/www/ding.mp3'

该脚本中的任何其他命令都可以正确执行。
有人可以给我一些建议吗?

最佳答案

我已经解决了。

解决方案是从 shell 程序脚本中删除“sudo -u www-data”部分。
现在,它仅包含:

#!/bin/sh
/usr/bin/play '/var/www/ding.mp3'

我把它留在这里,所以也许有人将来会发现它有用。

关于php - 使用PHP在服务器上播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46959069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com