我正在使用这个https://github.com/bbcrd/audiowaveform库。当我试图在终端中运行时,一切都是正确的(使用build方法,而不是apt),运行良好的。
当im试图使用exec在php中运行相同的内容时
$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好像是权限错误,有帮助吗?有什么帮助吗?
发布于 2016-07-29 14:08:03
当您从命令行运行时,您使用的是用户权限。从web服务器运行时,用户名因权限不同而不同。用户通常是www-data
首先,如果文件不存在,就创建它,这样您就可以设置权限
touch /var/www/html/test.dat允许任何人
chmod 777 /var/www/html/test.dat也可以将所有者更改为web服务器用户。
chown www-data /var/www/html/test.dat最好的方法可能是添加组,所以只有你们两个才能写。
chown :www-data /var/www/html/test.dat
chmod 775 /var/www/html/test.dathttps://stackoverflow.com/questions/38658937
复制相似问题