我有一个 PHP 脚本,它在触发多个进程的远程服务器上执行 bash 脚本。
<?php
$connection = ssh2_connect('address1.com', 22);
ssh2_auth_password($connection, 'user', 'pass');
$stream = ssh2_exec($connection, '/root/incoming/process.sh');
?>
bash 脚本 process.sh 在远程服务器上本地执行时工作正常,没有问题。
#!/bin/bash
wget -O /root/incoming/myfile.mp3 http://address2.com/myfile.mp3;
lame --decode /root/incoming/myfile.mp3 - | /usr/settings/stereo_tool_cmd_64 - - -s /usr/settings/setting.sts | lame -b 128 - /var/www/processed/myfile.mp3
但是当我尝试使用 PHP 脚本远程执行它时,它会在第一个进程 (wget) 的各个阶段崩溃。它甚至没有完成 wget 下载,在传输的随机阶段停止。
这是 PHP ssh2_exec 的问题吗?
还是我错过了什么?