PHP kullanarak Güvenli FTP Bağlantısı

3 Cevap php

Ben giriş bilgilerini ve PHP bir güvenli FTP Server var, ftp_ssl_connect/ftp_connect ve ftp_login fonksiyonunu kullanarak bu güvenli FTP sunucusuna bağlanmaya çalışıyor ve işlevi düzgün tüm parametreleri geçen ama am Ben bağlantı olmadığını görmek için şaşırıyorum.

Ben bunu mümkün duyuyorum daha ssh kullanarak komut satırından bu güvenli FTP sunucusuna bağlanmak için çalışıyorum ama php kodu ile bağlanmaya çalışıyorum zaman, bu bağlantı yoktur ve bu yüzden ben emin değilim eğer bu neden oluyor?

PHP kullanarak FTP Sunucu Güvenli bağlanmak için başka yolları da nelerdir?

EDIT: I ssh2_sftp kullanarak denedim ama hala FTP Server güvenliğini bağlamak mümkün değildi.

EDIT 2:, tavsiye lütfen PHP ile SFTP yapmak için başka yolları var mı.

Update: FTP Server güvenliğini bağlanmak için ssh2_sftp kullanılır ama o amele vermedi ve program mesajla öldü Cannot connect to Server Added kodu

<?php
$connection = ssh2_connect('www.server.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection) or die ("Cannot connect to server");

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
?>

3 Cevap

FTP / S (SSL üzerinden FTP) SFTP (SSH üzerinden FTP) tamamen farklı bir protokoldür, ve bir SFTP sunucusu (veya tersi) bağlanmak için bir SSL kütüphane kullanamazsınız.

Ben PHP programcısı değilim, ama some options to connect to an SSH server are natively available for your platform görünüyor.

Mdb Dediğim gibi PHP ssh2 uzantısı kullanmak gerekir. Eğer Linux kullanıyorsanız sudo pecl ssh2 yüklemek gibi, oldukça basit. OS X üzerinde iseniz bir svn ödeme yapmak, ya da burada yönergeleri izleyin ya gerekir: http://thirdpartycode.com/2010/01/installing-the-php-ssh2-extension-in-snow-leopard-10-6/

I phpseclib, a pure PHP SFTP implementation ile başarı biraz yaşadım. PECL uzantısı yüklemek için zor ama aynı zamanda güvenilmez ve çok taşınabilir değil ki gerçeğini boşver.