Пульт VL C на малиновом с PHP - PullRequest
0 голосов
/ 26 января 2020

Контекст: у меня есть малина с удаленным VL C, работающим на нем. VL C запускается так

cvlc --force-dolby-surround --play-and-exit --loop --volume-step 256 -I rc --rc-host 192.168.1.10:1250

Я хочу взаимодействовать с этим экземпляром VL C, например, для изменения громкости. На терминале с замазкой все в порядке, если я отправляю следующую команду:

$ echo "volume 80" | nc 192.168.1.10 1250 > /dev/null 2>&1 &

Мне нужно указать > /dev/null 2>&1 &, в противном случае VL C, пожалуйста, сохраняйте фокус. Это может быть root причина моей проблемы, я не знаю!

На странице PHP я пытаюсь запустить это:

<?php
exec('echo "volume 80" | nc 192.168.1.10 1250 > /dev/null 2>&1 &', $output, $return);
var_dump($output);
var_dump($return);
?>

Команда выполнена правильно, но $output и $return пусты. Я думаю, что это нормально, потому что я указываю > /dev/null 2>&1 &, однако, как было сказано выше, если я не укажу это, приглашение VL C сохранит фокус, и моя страница PHP будет работать бесконечно ...

В во втором случае мне нужно получить информацию с пульта VL C.

$ echo "status" | nc 192.168.1.10 1250

Поэтому я не должен добавлять > /dev/null 2>&1 &, потому что я хочу возврата! Но в этом случае PHP работает бесконечно

<?php
exec('echo "status" | nc 192.168.1.10 1250', $output, $return);
var_dump($output);
var_dump($return);
?>

, и у меня нет никакой информации о $output и $return переменных.

Не могли бы вы мне помочь?

Спасибо!

...