Здравствуйте. пишу функцию для отправки команд на удаленный сервер через php ssh с использованием screen и wine: этот код работает нормально:
// Параметры запуска
$bash = './linux_app;'
// Временный файл
$temp = sys::temp($bash);
// Обновляем файл start.sh
$ssh->setfile($temp, $tarif['install'].$server['uid'].'/start.sh', 0500);
// Инициализируем шаги запуска
$ssh->set('cd '.$tarif['install'].$server['uid'].';' // меняем дерикторию для работы
.'rm *.pid;' // Удаляем *.pid файлы
.'chown server'.$server['uid'].':1000 start.sh;' // Обновляем владельца файла start.sh
.'sudo -u server'.$server['uid'].' screen -dmS s_'.$server['uid'].' '.$taskset.' sh -c "./start.sh"'); // Запускаем приложение
Но при попытке переписать скрипт для работы с Windows-приложением с использованием Wine, скрипт не запускает "start.sh":
// Параметры запуска
$bash = 'xvfb-run --auto-servernum wine ./windows_app.exe -batchmode ';
// Временный файл
$temp = sys::temp($bash);
// Обновляем файл start.sh
$ssh->setfile($temp, $tarif['install'].$server['uid'].'/start.sh', 0500);
// Инициализируем шаги запуска
$ssh->set('cd '.$tarif['install'].$server['uid'].';' // меняем дерикторию для работы
.'rm *.pid;' // Удаляем *.pid файлы
.'chown server'.$server['uid'].':1000 start.sh;' // Обновляем владельца файла start.sh
.'sudo -u server'.$server['uid'].' screen -dmS s_'.$server['uid'].' '.$taskset.' sh -c "./start.sh"'); // Запускаем приложение
Хотя если вручную прописать "Параметры запуска" в файле "start.sh" и запустить его вручную, то все работает.
Пробовал запускать без screen. Пробовал запускать с screen , но вместо "start.sh" подставил строку "Параметры запуска", но без результатно.
Пожалуйста, скажите мне, что я делаю неправильно?