2

我一直在寻找这里来尝试解决这个问题,但我并不完全理解所有参数,所以我将解释我正在尝试做的事情:

我想通过 PHP 使用现有变量 $myfile (代表类似“music.mp3”的东西)在远程 Linux(Ubuntu)服务器上运行以下命令 -

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),然后用 lame 将其解码为 wav,然后使用 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');
 ?>
4

1 回答 1

1

关于什么 :

 <?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 变量放在字符串之外。

于 2015-09-23T16:09:04.993 回答