2016-07-29 3 views
1

Im используя эту библиотеку https://github.com/bbcrd/audiowaveform. Все установлено правильно (с использованием метода построения git не подходит) При попытке запускать audiowaveform -i test.mp3 -o test.dat -z 256 -b 8 в terminalотлично работает.Audiowaveform Разрешение отклонено bbcrd

Когда им пытаются запустить то же самое в 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 

Похоже, некоторые ошибки разрешения какой-либо помощи? Любая помощь?

ответ

0

Когда вы запускаете из командной строки, вы выполняете свои права пользователя. При запуске с веб-сервера имя пользователя отличается с разными разрешениями. Пользователь обычно www-data

Сначала создайте файл, если он не существует, так что вы можете установить разрешения

touch /var/www/html/test.dat 

Чтобы дать разрешение любому

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

Или вы можете изменить владельца на пользователь веб-сервера

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

Лучший способ, вероятно, добавить g roup, так что только вы двое можете написать

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

10 глупая ошибка забыла установить www-данные как владельца, спасибо в любом случае – user6654248

Смежные вопросы