2011-10-16 21 views
6

Dosyaları bir uzak sunucuya PHP ve SSH2 ile aktarıyorum.ssh2_scp_send() ile gönderilen dosyalar uzak sunucuda eksiktir

$connection = ssh2_connect('shell.example.com', 22); 
ssh2_auth_password($connection, 'username', 'password'); 
ssh2_scp_send($connection, '/local/filename', '/remote/filename', 0644); 

Ama bazen uzak sunucuda dosya tamamlanmamış:

Bunu kullanabilirim. SSH2'nin EOF'u veya başka bir şeyi transfer etmediği varsayımına sahibim.

Herhangi bir fikriniz veya çözümünüz var mı?

+0

Hata bildirme etkin mi? Bir sorun olursa mesajı görür müsün? –

+0

Evet, öyle. Onu görecektim. –

cevap

17

Sorun SSH oturumunu kapatmamanızdır. Böylece dahili arabellekler temizlenmez ve dosyalar diske tam olarak yazılmaz. İşte

bir çözüm - sadece oturumu kapatın: Tüm tamponlar temizlenip ve dosyalarınızın tamamen transfer edilmelidir neden olacaktır

ssh2_exec($connection, 'exit'); 

Bu.

Umut, bu yardımcı olur.

+0

Mükemmel! Bu hile yaptı, şimdi mükemmel çalışıyor. Teşekkür ederim! –

+0

Yığın Taşmasına Hoş Geldiniz! Tamamen konu dışı yan not: Ana sayfanızın Chrome'da bazı tuhaf * Umbrüche * sayısı vardır. Pr-ogrammiersprachen ve Nebenb-eruflich. Neden olduğundan emin değilim, ama bilmek isteyebileceğini düşündüm. @Simon bu cevap sizin için işe yararsa, onay işareti sembolünü kullanarak kabul edildiğini işaretlemeyi düşünün. –

+1

Teşekkürler Pekka, ama kabul edebilmek için 5 dakika beklemem gerek. :-) –

İlgili konular