PHP içinde SFTP

4 Cevap php

Ben, diğer şeylerin yanı sıra, dosya indirmek veya yüklemek için bir FTP sunucusuna bağlanmak için gereken bir web uygulaması inşa sürecinde yaşıyorum. Uygulama PHP ile yazılmış ve bir Linux sunucu üzerinde barındırılan.

Ne ben merak ediyorum o da SFTP sunucuları için destek sağlamak mümkün olacaktır olsun veya olmasın, ama Google'da bazı hızlı aramalar sonrasında bu kadar basit değil gibi görünüyor.

Yani, soru şudur: Ne kadar PHP içinde SFTP kullanmak için en iyi yolu olurdu? Aynı fonksiyonlar için kullanılabilir hem böylece de SFTP yanı sıra FTP için destek sağlayabilecek bir sınıf var mı?

Thank you in advance for your time, titel

4 Cevap

Evet, cURL ile yapabilirsiniz. Yapmanız gereken tüm SFTP FTP geçmek için protokolü seçenek formunu CURLPROTO_FTP CURLPROTO_SFTP değiştirmek için.

destekleri aşağıdaki protokoller cURL: HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TELNET, LDAP, LDAPS, DICT, DOSYA, TFTP.

BTW. SFTP FTPS ile karıştırılmamalıdır değildir. FTPS SSL üzerinden FTP ise SFTP, SSH File Transfer Protocol.

Eğer cURL (benim ev sahibi değil) yüklü değilse, siz phpseclib kullanabilirsiniz:

http://phpseclib.sourceforge.net/documentation/net.html#net_sftp

Durumda birisi sonuna kadar bu sayfada.

Ayrıca PHP ile PHP Bindings for LIBSSH2 kullanabilirsiniz. Bu uygun sisteminizde yüklü olması gerekmektedir.

Ubuntu 10.04 ve Debian Lenny olarak, tabii ki tüm bağımlılıkları ile

apt-get install libssh2-php

Igor önerisi ile sorun, diğer şeyler arasında, bu çok daha sezgisel cepten-tabanlı bir API vardır ve RSA kimlik aslında (libssh2 gerektirir mantıklı, (libssh2 pek çok bilgisayarlar üzerinde yüklü değil) çok daha az taşınabilir kodu için yapar olduğunu Eğer dosya sisteminde ayrı ayrı ortak anahtar ve özel anahtar saklamak; ayrı ayrı sağlanmak zorunda olduğu gerçeği içlerinde en özel anahtar biçimleri include açık anahtar) beri aptalca.

phpseclib de daha hızlıdır:

http://kevin.vanzonneveld.net/techblog/article/make_ssh_connections_with_php/#comment_3759