我的问题是,以下脚本在终端中执行正常,但在我的Apache2-Webserver上它没有做任何事情。
<?php
exec("/usr/bin/pactl set-sink-volume 0 60%");
?>
当它从终端执行时,我可以听到音乐越来越响亮
sudo php /var/www/html/test2.php
使用exec的其他命令在Web服务器上运行得非常好。工作范例:
<?php
exec("/sbin/shutdown -r now");
?>
建立:
在此先感谢您的帮助!
首先检查组。一种方法是使用ls -lah /usr/bin/pactl
。它应该显示其他信息,即拥有权限的用户和组。它还显示用户,组和其他人是否具有执行权限。
要将现有用户帐户添加到系统上的组,请使用usermod命令,将examplegroup替换为要添加用户的组的名称,并将andexampleusername替换为要添加的用户的名称。
usermod -a -G examplegroup exampleusername
例如,要将用户www-data添加到组音乐,请使用以下命令:
usermod -a -G music www-data
编辑
另一种方法是允许所有用户通过向所有用户添加执行位来执行/usr/bin/pactl
。
我的问题解决了。我正在将文件写入文件夹,脚本检查此文件夹中的文件并执行,而不是代码来控制音频(我现在用amixer而不是pactl控制它)。
无论如何,谢谢你的建议!