【问题标题】:Execute a command on a remote server with PHP - no callback / stream required使用 PHP 在远程服务器上执行命令 - 无需回调/流
【发布时间】:2015-09-23 15:47:25
【问题描述】:

我一直在寻找 HERE 来尝试解决这个问题,但我并不完全了解所有参数,所以我将解释我正在尝试做什么:

我想通过 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');
 ?>

【问题讨论】:

  • 不,它正在从原始服务器下载 music.mp3 文件,然后在上面执行它。

标签: php linux remote-access remote-server ssh2-exec


【解决方案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);
?>

应该没问题。

edit 1最好把你的php变量放在字符串外面。

【讨论】:

  • 这样就可以很好地传递 php 变量了吗?而且,我不明白 $connection 变量中的“22”是什么?
  • 22是端口号,22是SSH的默认值。要确保传递变量,请改为使用 '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
  • 啊,完美,我猜是端口号,但以前从未像这样连接到 ssh,所以不确定。太好了,现在就试试,非常感谢;)
  • 哦,最后一件事。 $stream 听起来像是两件事。那是对的吗?我不希望原始服务器上的 php 脚本在启动任务后等待远程服务器的响应,因为它还有其他事情要做。
  • 如果你愿意,有两种方式,流是你不需要使用的通道。除非您之后使用ssh2_fetch_stream,否则它不会等待响应。所以你的情况没问题。
猜你喜欢
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多