У меня есть скрипт PHP, который выполняет сценарий bash на удаленном сервере, который запускает несколько процессов.Сбой процесса ssh2_exec до завершения PHP Bash
<?php
$connection = ssh2_connect('address1.com', 22);
ssh2_auth_password($connection, 'user', 'pass');
$stream = ssh2_exec($connection, '/root/incoming/process.sh');
?>
Бах скрипт 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?
Или я что-то упускаю?
Нет, это ничего не изменило. Все еще бомбит. Я должен добавить, что он бомбит около 2 секунд. – Grant
Это похоже на то, что второй набор (ламе) пытается начать, пока wget закончил. Я пробовал добавить sleep 10 и ждать до хромого процесса, но ничего не имеет значения. – Grant
@Grant. Может быть, '' 'в конце строки' wget' каким-то образом запускает фоновое выполнение этой команды в вашей оболочке? Этот сценарий ведет себя одинаково, когда вы запускаете его в интерактивном режиме самостоятельно? –