使用 PHP 在远程服务器上执行命令 - 不需要回调/流
Execute a command on a remote server with PHP - no callback / stream required
我一直在寻找 HERE 来尝试解决这个问题,但我并不完全理解所有参数,所以我将解释我正在尝试做的事情:
我想 运行 通过 PHP 在远程 Linux (Ubuntu) 服务器上使用现有变量 $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),然后用 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');
?>
怎么样 :
<?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 变量放在字符串之外。
我一直在寻找 HERE 来尝试解决这个问题,但我并不完全理解所有参数,所以我将解释我正在尝试做的事情:
我想 运行 通过 PHP 在远程 Linux (Ubuntu) 服务器上使用现有变量 $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),然后用 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');
?>
怎么样 :
<?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 变量放在字符串之外。