2016-07-29 198 views
1

Im使用此https://github.com/bbcrd/audiowaveform库。 安装是否正确(使用建立的git方法不恰当) 当我尝试运行audiowaveform -i test.mp3 -o test.dat -z 256 -b 8终端工作正常Audiowaveform权限被拒绝bbcrd

当我尝试使用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 

看起来有些权限错误任何帮助运行在PHP是一回事吗? 有什么帮助吗?

回答

0

当您从命令行运行时,您正在使用您的用户权限执行。从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 

最好的方法可能是添加g群,所以只有你两个可以写

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

愚蠢的错误忘记设置万维网数据为业主谢谢反正 – user6654248