Изпращам команди до сървър на Windows с помощта на Cygwin. Зададох въпрос преди няколко дни, но остана без отговор. Имам голям проблем с phpseclib и той е $ssh->write(); команда. Използвал съм $ssh->exec(); но командата, изпратена до сървъра, изтегля файлове от сървъра на играта, което може да отнеме до 20 минути и след известно време времето за изчакване на php страницата изтича, защото надвишава настройката за изчакване на FastCGI. И така, мислех, че $ssh->write(); може да го реши вместо мен, но командата, която изпращам на сървъра, не се изпълнява. Ето командата за exec и записа, който се опитвам да използвам:
$ssh->exec('C:/hldsupdatetool/hldsupdatetool -command update -game ".$game." -dir ".$dir');
и този код се зарежда завинаги и след това изтича. Реших това, като промених настройката за изчакване на FastCGI на един час, което е максимумът. Тази команда се изпълнява на сървъра.
Това е командата за запис, която се опитвам да изпратя, но не се изпълнява:
$ssh->write('C:/hldsupdatetool/hldsupdatetool -command update -game ".$game." -dir ".$dir."\r\n");
Тази команда НЕ се изпълнява на сървъра. Отговорът, който получавам от него, когато го повтарям, е "1".
Всяка помощ е високо оценена! В момента създава контролен панел за сървър за игри с отворен код.
Благодаря предварително!
С най-добри пожелания, Том.