Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.4.1

Bug #1051 Ftp getRecursive hangs
Submitted: 2004-03-22 08:57 UTC
From: mpk at dentline dot nl Assigned: toby
Status: Bogus Package: Net_FTP
PHP Version: 4.3.2 OS: Linux Mandrake 9.2
Roadmaps: (Not assigned)    
Subscription  
Comments Add Comment Add patch


Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know! Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem : 48 + 33 = ?

 
 [2004-03-22 08:57 UTC] mpk at dentline dot nl
Description: ------------ I have a list of directories with a series of files in each that I want to retrieve. Automatic retrieval with $ftp->getRecursive() hangs after 3 directories. For a strange reason it cannot retrieve a file (that means it is created in the destination directory but it remains with 0 size). For all the subsequent directories I get this message "Warning: Invalid argument supplied for foreach() in /usr/lib/php/FTP.php on line 1467". It retrieves then no files though it creates if needed the directories. I have tested with all the versions from 1.2, 1.3b1, 1.3b2. Reproduce code: --------------- dump($ftp->cd('/www/praktijken'), 'FTP::cd()'); $dirs = $ftp->ls(null, NET_FTP_DIRS_ONLY); for ($i=0;$i<count($dirs);$i++){ $dirnaam = $dirs[$i][name]; print $dirnaam; if (!is_dir("/www/praktijken/$dirnaam")) { umask(0); mkdir ("/www/praktijken/$dirnaam", 0755); } $ftp->getRecursive("/www/praktijken/$dirnaam/" , "/www/praktijken/$dirnaam/", true, FTP_BINARY); } Expected result: ---------------- Retrieve all files in the corresponding directories

Comments

 [2004-03-22 09:57 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2004-03-22 11:12 UTC] mpk at dentline dot nl
The server side: ProFTPd version 1.29 on Debian Linux 3.0 --enable-ftp on client side activated (also tested with same results with Mandrake 9.1 and PHP 4.3.1). The list of directories is the following. By the third directory drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 Demo drwxr-xr-x 2 dentline users 4096 Feb 27 11:11 acht drwxr-xr-x 2 dentline users 4096 Feb 27 11:01 akmal drwxr-xr-x 2 dentline users 356352 Mar 22 09:13 allessie drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 barendregt drwxr-xr-x 2 dentline users 4096 Feb 27 11:23 bennekom drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 bernardo drwxr-xr-x 2 dentline users 4096 Mar 18 11:38 bolhuis drwxr-xr-x 2 dentline users 4096 Mar 19 08:17 demo drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo1 drwxr-xr-x 2 dentline users 8192 Mar 2 10:42 demo10 drwxr-xr-x 2 dentline users 4096 Feb 14 12:23 demo11 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo12 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo13 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo14 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo15 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo16 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo17 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo18 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo19 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo2 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo20 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo21 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo22 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo23 drwxr-xr-x 2 dentline users 4096 Feb 4 15:57 demo24 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo25 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo26 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo27 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo28 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo29 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo3 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo30 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo31 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo32 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo33 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo34 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo35 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo36 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo37 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo38 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo39 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo4 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo40 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo41 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo42 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo43 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo44 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo45 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo46 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo47 drwxr-xr-x 2 dentline users 4096 Feb 4 15:58 demo48 drwxr-xr-x 2 dentline users 4096 Feb 4 15:59 demo49 drwxr-xr-x 2 dentline users 4096 Feb 4 15:59 demo5 drwxr-xr-x 2 dentline users 4096 Feb 4 15:59 demo50 drwxr-xr-x 2 dentline users 4096 Feb 4 15:59 demo51 drwxr-xr-x 2 dentline users 4096 Feb 4 15:59 demo52 drwxr-xr-x 2 dentline users 4096 Feb 4 15:59 demo53 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo54 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo55 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo56 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo57 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo58 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo59 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo6 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo60 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo61 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo62 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo63 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo64 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo65 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo66 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo67 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo68 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo69 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo7 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo70 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo71 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo72 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo73 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo74 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo75 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo76 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo77 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo78 drwxr-xr-x 2 dentline users 4096 Mar 3 11:23 demo79 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo8 drwxr-xr-x 2 dentline users 4096 Mar 11 13:46 demo80 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo81 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo82 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo83 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo84 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo85 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo86 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo87 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo88 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo89 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo9 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo90 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo91 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo92 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo93 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo94 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo95 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo96 drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 demo97 drwxr-xr-x 2 dentline users 45056 Jan 21 16:01 demo98 drwxr-xr-x 2 dentline users 4096 Feb 4 15:59 dentalcare drwxr-xr-x 2 dentline users 4096 Mar 16 08:15 dewit drwxr-xr-x 2 dentline users 40960 Mar 19 09:51 djamaludin drwxr-xr-x 2 dentline users 4096 Feb 11 10:28 dongemond drwxr-xr-x 2 dentline users 20480 Mar 22 10:35 eijsbouts drwxr-xr-x 2 dentline users 4096 Feb 27 10:36 faessaert drwxr-xr-x 2 dentline users 4096 Feb 27 09:22 flexdent drwxr-xr-x 2 dentline users 4096 Feb 4 16:00 ftp drwxr-xr-x 2 dentline users 4096 Feb 27 10:04 groothuis drwxr-xr-x 2 dentline users 4096 Feb 27 08:57 gruter drwxr-xr-x 2 dentline users 4096 Feb 27 11:44 hornman drwxr-xr-x 2 dentline users 4096 Feb 27 10:48 houtsma drwxr-xr-x 2 dentline users 4096 Feb 4 16:00 jarno drwxr-xr-x 2 dentline users 4096 Feb 27 08:46 meeuwis drwxr-xr-x 2 dentline users 4096 Feb 27 09:05 mensink drwxr-xr-x 2 dentline users 4096 Jan 25 10:22 mpk -rw-r--r-- 1 dentline users 67 Feb 4 15:52 null drwxr-xr-x 2 dentline users 4096 Mar 21 22:21 oltmans drwxr-xr-x 2 dentline users 49152 Mar 22 10:42 omnivor drwxr-xr-x 2 dentline users 8192 Feb 14 13:58 parorotterdam drwxr-xr-x 2 dentline users 4096 Feb 4 16:00 simplex drwxr-xr-x 2 dentline users 16384 Mar 22 08:53 sms drwxr-xr-x 2 dentline users 8192 Mar 18 14:30 sonneveld drwxr-xr-x 2 dentline users 45056 Mar 22 10:42 tandheelkunst drwxr-xr-x 2 dentline users 12288 Mar 22 09:40 tendens drwxr-xr-x 2 dentline users 28672 Mar 22 10:28 teng drwxr-xr-x 2 dentline users 4096 Jan 16 13:35 test drwxr-xr-x 2 dentline users 16384 Mar 19 15:20 test_dev drwxr-xr-x 2 dentline users 4096 Feb 17 10:58 topcuogli drwxr-xr-x 2 dentline users 4096 Mar 16 17:35 vangelder drwxr-xr-x 2 dentline users 28672 Mar 22 10:29 wasser drwxr-xr-x 2 dentline users 4096 Feb 27 11:34 weststrate drwxr-xr-x 2 dentline users 16384 Mar 22 10:36 wigchert drwxr-xr-x 2 dentline users 4096 Feb 27 08:52 willemstraat Up to the second directory it retrieves ok. It produces at the client side a directory list (second directory /www/praktijken/acht): -rw-r--r-- 1 apache apache 1681 mrt 22 09:49 afspraaktypes20040226155821.xml -rw-r--r-- 1 apache apache 1681 mrt 22 09:49 afspraaktypes20040226155901.xml -rw-r--r-- 1 apache apache 1681 mrt 22 09:49 afspraaktypes20040227121056.xml -rw-r--r-- 1 apache apache 271414 mrt 22 09:49 afspraken20040226155834000.xml -rw-r--r-- 1 apache apache 98440 mrt 22 09:49 afspraken20040226155849001.xml -rw-r--r-- 1 apache apache 439 mrt 22 09:49 afspraken20040226155854002.xml -rw-r--r-- 1 apache apache 271414 mrt 22 09:49 afspraken20040226155914000.xml -rw-r--r-- 1 apache apache 98440 mrt 22 09:49 afspraken20040226155928001.xml -rw-r--r-- 1 apache apache 439 mrt 22 09:49 afspraken20040226155935002.xml -rw-r--r-- 1 apache apache 273153 mrt 22 09:49 afspraken20040227121108000.xml -rw-r--r-- 1 apache apache 97867 mrt 22 09:49 afspraken20040227121123001.xml -rw-r--r-- 1 apache apache 3 mrt 22 09:49 bloklog.txt -rw-r--r-- 1 apache apache 2493 mrt 22 09:49 importpraktijk20040226155821000.xml -rw-r--r-- 1 apache apache 2493 mrt 22 09:49 importpraktijk20040226155901000.xml -rw-r--r-- 1 apache apache 2493 mrt 22 09:49 importpraktijk20040227121055000.xml -rw-r--r-- 1 apache apache 67 mrt 22 09:49 null At the third, it hangs at the first file. So the produced result is (for /www/praktijken/akmal) totaal 0 -rw-r--r-- 1 apache apache 0 mrt 22 09:49 afspraaktypes20040226160448.xml Sometimes it can get up to the fourth directory. But about then it is over. After it hangs at a file, it follows a regular timeout from the ftp server within few minutes. I cannot give a test account at the moment it is a production environment.
 [2004-03-22 12:14 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2004-03-22 13:13 UTC] mpk at dentline dot nl
I just tested it. It looks like it has nothing to do with the problem. It stalls at a file and after X minutes it does a timeout. The problem is the stalling. This happens in a period of 10-20 seconds (the one it takes to retrieve some 20 <1k files). Is there any way to overcome the stalling? Or any other ideas? Thanks.
 [2004-03-22 13:46 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2004-05-10 08:50 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2004-09-06 18:16 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!