audio - 使用 php 和 amixer/pulseaudio 设置音量
问题描述
我的问题是,以下脚本在终端中执行得很好,但在我的 Apache2-Webserver 上它什么也没做。
<?php
exec("/usr/bin/pactl set-sink-volume 0 60%");
?>
当它从终端执行时,我可以听到音乐越来越响亮
sudo php /var/www/html/test2.php
其他带有 exec 的命令在网络服务器上工作得很好。工作示例:
<?php
exec("/sbin/shutdown -r now");
?>
设置:
- 阿帕奇 2.4
- PHP 7
- 树莓派 3b+
- 拉斯宾
- 通过耳机插孔连接的扬声器
提前感谢您的帮助!
解决方案
首先检查组。一种方法是使用ls -lah /usr/bin/pactl
. 除其他信息外,它还应显示具有权限的用户和组。它还显示用户、组和其他人是否有执行权限。
要将现有用户帐户添加到系统上的组,请使用 usermod 命令,将 examplegroup 替换为要添加用户的组的名称,并将 exampleusername 替换为要添加的用户的名称。
usermod -a -G examplegroup exampleusername
例如,要将用户 www-data 添加到组 music,请使用以下命令:
usermod -a -G music www-data
编辑
另一种方法是通过向所有用户添加执行位来允许所有用户执行/usr/bin/pactl
。
推荐阅读
- node.js - Passport JS 没有给出用户名
- sql-server - 通过 JDBC 驱动程序连接到 SQL Server 的 SSL 握手验证错误
- swagger - Swashbuckle.AspNetCore - AWS Lambda - XML 文档
- c++ - Vulkan:缓冲区复制期间设备丢失
- c - timespec_get 的源代码在哪里?
- tsql - Tsql跨多行设置字符串变量
- html - 如何使用 VBA 从 Web 下载表格?
- javascript - 网站联系表(网站吸盘网站)
- javascript - Firebase 仅分离同一路径上的一个侦听器
- r - 如何从 Windows 命令提示符中删除 xml 文件中的注释?