2016-07-29 292 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