login  Naam:   Wachtwoord: 
Registreer je!
 Forum

FTP probleem (Opgelost)

Offline Wijnand - 19/02/2014 10:50
Avatar van WijnandModerator Ik heb een FTP verbinding die niet passive (maar active) is.
Deze werkte altijd, tot vorige week toen de server (waarheen de FTP wordt gedaan) een update kreeg.

Als ik via filezilla FTP gaat het goed (met active aan).
Als ik via een php script probeer te FTPen gaat het niet goed.

Dit is het script wat ik gebruik als test:
  1. $ftp_server = "xxx";
  2. $ftp_port = '21';
  3. $ftp_user = "xxx";
  4. $ftp_pass = "xxx";
  5.  
  6. ini_set("display_errors","On");
  7. ini_set("error_reporting",E_ALL);
  8.  
  9. // ftp connect
  10. $conn_id = ftp_connect($ftp_server,$ftp_port,10);
  11. $login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);
  12. if ((!$conn_id) || (!$login_result)) {
  13. $error = "FTP connection has failed!" . "<br />Attempted to connect to $ftp_server for user $ftp_user";
  14. echo $error;
  15. exit();
  16. }
  17.  
  18. ftp_pasv($conn_id, false);
  19. var_dump(ftp_nlist($conn_id, "."));
  20. echo '<hr />';
  21. $filename = 'test.txt';
  22. var_dump(ftp_size($conn_id, $filename));
  23. ftp_close($conn_id);


dan geeft de ftp_nlist 'false' terug.
de ftp_size = -1

Terwijl beide iets terug zouden moeten geven.
Het lijkt op een probleem dat toen ik eerder probeerde in te loggen via filezilla op de server dat ik wel ingelogd werd, maar geen bestanden of mappen kreeg. Toen hebben ze de firewall iets opener gezet en ik heb 'm op active gezet (state niet op passive, maar op active dus). Toen werkte het wel.

Heeft iemand ideeën waar het fout zou kunnen gaan?

2 antwoorden

Gesponsorde links
Offline Thomas - 19/02/2014 17:07
Avatar van Thomas Moderator ftp_pasv() geeft blijkbaar ook een boolean terug, die aangeeft of het aan- of uitzetten van pasv gelukt is. Controleer deze eens? Wellicht zit je nog steeds in passive mode .

Dit deed mij denken aan een ander recent topic. Weet niet hoe (on)waarschijnlijk het is dat het hier aan ligt (zeker na een update), maar probeer eens wat rauwe FTP commando's met ftp_raw()?

En aangezien het om een update gaat, is alles nog steeds/weer goed geconfigureerd aan de serverzijde? Ondersteunt de nieuwe(re) FTP-server PASV en staat deze mogelijkheid aan? Mogelijk iets aan de hand met lees/schrijfrechten?

Als ik PASV goed begrijp (heb er nagenoeg niet mee gewerkt) luistert bij PASV de FTP server naar een client port. Kan het zijn dat jij deze port (naar buiten toe) niet open hebt staan? Dan wordt het verkeer door jouw firewall geblokkeerd . Ik weet niet precies hoe wordt bepaald welke poort wordt geselecteerd? Wellicht verloopt dit selectieproces nu anders?

De belangrijkste vraag lijkt mij idd "waar" (en niet "wat") gaat het (er) fout? 
Offline Wijnand - 03/03/2014 14:51
Avatar van Wijnand Moderator Het was inderdaad de firewall. Ik vond het raar dat hij de connectie wel deed, maar de rest niet. Uiteindelijk met de systeembeheerder overlegd en gevraagd of hij even de firewall wilde uitzetten, en toen werkte het als een zonnetje.

Dus bedankt FangorN :-).
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.192s