Windows XP üzerinde çalışıyorum. ssh oturumunu otomatikleştiren bir TCL komut dosyasını arayarak tarayıcım aracılığıyla bir sistem() komutunu başarıyla çalıştırabilirim. Ayrıca betikten bir değer döndürüyorum. Ancak benim sorunum, betiğin ssh oturumunu tarayıcıda döker olmasıdır.sistem() çıktısının nasıl saklanacağı
$ lastline = sistemiyle (.: $ Kullanici ' "C: \ tcl \ bin \ tclsh.exe" \ yolu \ filename.tcl dosyaya''
benim php komut benziyor.. $) $ val geçmesi;
filename.tcl:
spawn plink -ssh $ user @ $ konak
bekliyoruz "assword:"
gönderme "$ pas \ r"
"\ istemini bekliyoruz:/- >"
set $ dönen_değer
/...some kod ... Bu iyi çalışır [dize /..string../ $ expect_out (tampon) karşılaştırmak]/
çıkış $ dönen_değer
her şey iyi çalışır ve geri doğru $ dönen_değer olsun ama php dosyası baskılar benziyor benim tarayıcıda tüm SSH oturumu yürütme sonucu: adı olarak "admin" kullanma
. [email protected]'s şifre: ===/* Bazı metin */=== \ istemi:/-> .../Bazı metin/
i sistemini engellemek istiyorum() Tarayıcımdaki bu yazdırmasını fonksiyon
i shell_exec() fonksiyonunu kullandık ama (i tcl komut ayrıştırılır ve php script dönmek için kesin bir değer var olan) orada olduğunu tüm sSH oturumu sonuç döndürür yolu i peşin() yerine
sayesinde shell_exec() kullanarak ancak sistemi kullanmadan yapabilirsiniz
teşekkürler csl ... işe yarıyor ... daha önce ob_start() ve ob_end_clean() işlevlerini kullanarak sistem() komutunu istediğiniz gibi almak için önce ve sonra kullanıyordum sonuçlar ... giriş için teşekkürler .... – user806168