Audiowaveform 权限被拒绝 bbcrd

Audiowaveform Permission denied bbcrd

我正在使用这个 https://github.com/bbcrd/audiowaveform 库。 一切都已正确安装(使用 build git 方法不合适) 当我尝试在 终端 中 运行 audiowaveform -i test.mp3 -o test.dat -z 256 -b 8 时,它 工作正常

当我尝试 运行 在 php 中使用 exec

做同样的事情时
$cmd = "audiowaveform -i  /var/www/html/test.mp3 -o /var/www/html/test.dat -z 256 -b 8"; 
$cmd .= " 2>&1 ";
exec($cmd,$error); 
var_dump($error);

显示这个错误

...
Done: 99%
Done: 100%
[11] => Recoverable frame level error: lost synchronization
[12] => 
[13] => Frames decoded: 13921 (6:03.650)
[14] => Generated 62645 points
[15] => Failed to write data file: /var/www/html/test.dat
[16] => Permission denied

好像是权限错误,有什么帮助吗? 有帮助吗?

当您从命令行 运行 时,您正在以您的用户权限执行。 运行ning 从网络服务器时,用户名不同,权限不同。用户通常是www-data

如果文件不存在,请先创建文件,以便设置权限

touch /var/www/html/test.dat

授予任何人权限

chmod 777 /var/www/html/test.dat

或者您可以将所有者更改为网络服务器用户

chown www-data /var/www/html/test.dat

最好的办法可能是加群,所以只有你们两个可以写

chown :www-data /var/www/html/test.dat
chmod 775 /var/www/html/test.dat