linux — выполнить команду на удаленном сервере без обратного вызова / потока

я искал ВОТ чтобы попытаться понять это, но я не полностью понимаю все параметры, поэтому я объясню, что я пытаюсь сделать:

Я хочу выполнить следующую команду на удаленном сервере Linux (Ubuntu) через PHP, используя существующую переменную $ myfile (которая представляет собой что-то вроде ‘music.mp3’) —

wget http://someaddress.com/$myfile /usr/incoming/$myfile lame --decode /usr/incoming/$myfile - | stereo_tool_cmd - - -s /usr/settings/process.sts | lame -b 128 - /usr/processed/$myfile

Что он делает, так это говорит удаленному серверу загрузить файл (http://someaddress.com/$ myfile), затем декодируйте его в wav с помощью lame, затем обрабатывайте его с помощью инструмента Stereo Tool, затем перекодируйте его в 128k mp3 и переместите в указанную директорию.

Мне не нужен исходный сервер для получения каких-либо отзывов о процессе, он просто должен запустить его на удаленном сервере. Как мне настроить это на PHP?

Ниже приводится страница PHP.net, на которую я ссылался выше, и, вероятно, это то, что мне нужно использовать, но я не уверен, как ее настроить.

 <?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, '/usr/local/bin/php -i');
?>

2

Решение

Как насчет :

 <?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection,'wget http://someaddress.com/'.$myfile.
' /usr/incoming/'.$myfile.' lame --decode /usr/incoming/'.$myfile.
' - | stereo_tool_cmd - - -s /usr/settings/process.sts | lame -b 128 - /usr/processed/'.$myfile);
?>

Это должно работать просто отлично.

редактировать 1 лучше поместить вашу переменную php вне строки.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]