Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PROBLEM z ftp_ssl_connect
Forum PHP.pl > Forum > Serwery WWW
adamello1978
Witam wszystkich,

chcialem zapytac czy ktos z Was spotkal sie kiedys z podobnym problemem a mianowicie funkcja ftp_put nie chce przeslac pliku na serwer FTP przez ftp_ssl_connect natomiast jak zmienie na ftp_connect to wszystko dziala jak nalezy.

Warning jaki mi wyrzuca przy ssl to "Type set to A in...". Od razu dodam ze serwer ustawilem w trybie passive a na serwerze ftp tworzy sie plik ale pusty o pojemnosci 0. Przez windowsowego klienta normalnie mozna zapysywac wiec wyglada to na problem z ftp sslem tylko jak to zlokalizowac i naprawic??

Przeszukalem wszystko i nie moge znalezc rozwiazania, pomozcie!
pedro84
Tryb pasywny włączony?
adamello1978
tak, włączony i nie pomoga...
pedro84
A pokaż swój kod połączenia. Łączysz się z Win?
adamello1978
łącze się poprzez php5-cgi na ubuntu server, poniżej sposób łączenia:

$conn_id = ftp_ssl_connect($ftp_server) or die("Nie mozna sie polaczyc z serwerem $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);

if ((!$conn_id) || (!$login_result)) {
echo "brak polaczenia FTP\n";
exit;
} else {
echo "polaczony z $ftp_server jako $ftp_user_name\n";
}
echo "biezacy katalog: " . ftp_pwd($conn_id) . "\n";

if (ftp_chdir($conn_id, "export")) {
echo "zmieniony na katalog: " . ftp_pwd($conn_id) . "\n";
} else {
echo "nie udalo sie zmienic katalogu\n";
}

$upload = ftp_put($conn_id, $plik1, $plik2, FTP_ASCII);

if (!$upload) {
echo "blad pliku $plik w katalogu: " . ftp_pwd($conn_id) . "\n";
} else {
echo "udalo sie przeslac $plik do katalogu: " . ftp_pwd($conn_id). "\n";
}

ftp_close($conn_id);
pedro84
1. Stosuj odpowiedni BBCode dla listingów kodu!
2. Kod wygląda OK - z resztą on bazuje na manualu, u mnie działa, pliki przesyła poprawnie.
3. Jaki to serwer FTP i którą masz wersję PHP? Co konkretnie siedzi w zmiennych $plik, $plik1, $plik2?
adamello1978
1. Sorry :\
3. Jaki ftp to nie wiem bo nie ja go stawialem (zewnetrzny), PHP Version 5.3.2-1ubuntu4.26 a w zmiennych sa nazwy pliku do przeslania.

Myslisz ze wersja php nie ogarnia?
pedro84
Albo coś dziwnego z FTP. Na moje oko powinno działać, jak możesz podeślij jakieś testowe konto na PW - zobaczę co tam nie gra.
adamello1978
Z testowym kontem bedzie problem bo to nie moj serwer i nie uzyskam takiego na testy a swojego nie moge przekazac sad.gif

z tym, że testowalem na kliencie winSCP połączenie z tym serwerem FTP po SSL i działa więc to raczej nie jego wina...
Pyton_000
Na jakim porcie łączysz się przez WinSCP ?
adamello1978
21
pedro84
Cytat(adamello1978 @ 8.09.2014, 21:46:28 ) *
21

A SSL bezpośredni czy domniemany (w WinSCP)?
adamello1978
a nie wiem, zaznaczone jest wyłącznie szyfrowanie SSL.

pedro84
Cytat(adamello1978 @ 8.09.2014, 22:05:44 ) *
a nie wiem, zaznaczone jest wyłącznie szyfrowanie SSL.

No bez jaj, musi to tak wyglądać:
adamello1978
we wszystkich opcjach działa.
pedro84
Dobra, a cały błąd wraz z linią w kodzie to jak wygląda?
adamello1978
CODE
Sep 9 16:11:44 ubuntu php5-cgi: PHP Warning: ftp_put(): Type set to A in //xxx/xxx/xxx.php on line 70
pedro84
Zobacz sobie co Ci w tych zmiennych siedzi i pokaż output:
  1. var_dump($plik1);
  2. var_dump($plik2);
  3. $upload = ftp_put($conn_id, $plik1, $plik2, FTP_ASCII);
adamello1978
  1. string(21) "xxx_xxxxxxxx_xxxx.txt"
  2. string(21) "xxx_xxxxxxxx_xxxx.txt"


nazwa plikow jest dokładnie taka sama.
pedro84
Nie mam już pomysłu.

Może jeszcze jakiś problem z OpenSSH + PHP, ale to już tylko domysły. Ewentualnie spróbuj z innego serwera posłać i zobacz czy działa.
adamello1978
qrcze no trudno, też już wszystko chyba sprawdziłem sad.gif

spróbuje jak mówisz z innego serwera.

Dzięki za zainteresowanie, jakby jeszcze coś ci przyszło do głowy to pisz wink.gif
pedro84
Hm, łączysz się z Linuxa czy Windowsa?
adamello1978
linux ubuntu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.