2016-07-29 5 views
1

Im이 https://github.com/bbcrd/audiowaveform 라이브러리를 사용하고 있습니다. 모든 것이 올바르게 설치되었습니다 (빌드 git 방법을 사용하지 마십시오) 터미널audiowaveform -i test.mp3 -o test.dat -z 256 -b 8을 실행하려고하면 이 올바르게 작동합니다..Audiowaveform 권한이 거부되었습니다.

$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

명령 줄에서 실행하면 사용자 권한으로 실행됩니다. 웹 서버에서 실행할 때 사용자 이름은 다른 권한에 따라 다릅니다. 그렇게 존재하지 않는 당신이 누구

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

에 권한을 부여 할 수있는 권한을

touch /var/www/html/test.dat 

을 설정할 수 있습니다 또는 당신이에 소유자를 변경할 수있는 경우 사용자는 파일을 생성 일반적으로 www-data

우선이다 웹 서버 사용자

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

바보 같은 실수는 어쨌든 소유자 감사로 www 데이터를 설정하는 것을 잊어 버렸습니다. – user6654248