2014-12-18 2 views
1

Я использовал поиск -Невозможно записать общий диск из PHP сценария (YouTube-DL)

У меня есть общий диск на сервере окон из командной строки я могу написать на этом диске работает YouTube- dl, однако из PHP script- youtube-dl говорит permission error (no permission error on local drive)

Если я запускаю PHP-скрипт, содержащий youtube-dl из командной строки, как root, он отлично работает.

ниже PHP скрипт

echo "Saving $v"; 
$url = "http://www.youtube.com/watch?v=$v"; 
$template = '/windowshare/%(id)s.%(ext)s'; 
$string = ('youtube-dl ' . escapeshellarg($url) . ' -f 22 -o ' . 
      escapeshellarg($template)); 

$descriptorspec = array(
     0 => array("pipe", "r"), // stdin 
     1 => array("pipe", "w"), // stdout 
     2 => array("pipe", "w"), // stderr 
); 
$process = proc_open($string, $descriptorspec, $pipes); 
$stdout = stream_get_contents($pipes[1]); 
fclose($pipes[1]); 
$stderr = stream_get_contents($pipes[2]); 
fclose($pipes[2]); 
$ret = proc_close($process); 
echo json_encode(array('status' => $ret, 'errors' => $stderr, 
        'url_orginal'=>$url, 'output' => $stdout, 
        'command' => $string)); 
+0

Что такое вывод 'ls -la/windowshare' при запуске от имени root? Это звучит как проблема разрешения. – phihag

+0

hi всего 60498714 drwxr-xr-x 1 корень root 98304 Dec 14 05:01. drwxrwxrwx 10 root root 12288 Dec 18 19:30 .. -rwxr-xr-x 1 корень root 69870400 17 ноя 2011 -rwxr-xr-x 1 корень root 1346825 окт. 8 2007 -rwxr-xr-x 1 корень root 19491952 8 окт 2007 drwxr-xr-x 1 корень root 0 Апр 7 2014 -rwxr-xr-x 1 корень root 9662390 23 ноя 16:17 -rwxr-xr-x 1 корень root 3972200 12 ноя 15:13 –

ответ

0

Это не имеет никакого отношения к PHP или YouTube-DL - пользователь веб-сервер работает как просто не имеет права на запись в каталог назначения. Либо выберите другой каталог, либо измените разрешения. Например, запустите sudo chmod a+rw /windowshare как root, чтобы разрешить всем писать в каталог.

+0

спасибо, что я знал, что это проблема, но было просто слишком запутанным, чтобы понять это ... –

+0

такое же сообщение ..... отлично работает от корневой команды «php youtube-dl.php», но не из-за httpd тянет его поверх http через браузер {"status": 1, "errors": "ERROR: невозможно открыть для записи: [Errno 13] Разрешение отклонено: –

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