|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-02-20 04:14 UTC] sniper@php.net
[2004-02-20 04:23 UTC] rouet at in2p3 dot fr
[2004-02-20 16:02 UTC] pollita@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 08:00:01 2025 UTC |
Description: ------------ we have to use a 64 bits compiled version of php 4.3.4 to solve a limitation problem with popen. an i discover that ftp_get function don't work. i looked at the file ftp.c in ext/ftp and the problem is the length of a long (8 bytes) in 64 bits mode. that's the portion of code i modified to solve ftp problem : /* IP and port conversion box */ union ipbox { unsigned int l[2]; /* unsigned long l[2];*/ unsigned short s[4]; unsigned char c[8]; }; i recompile php and now ftp-get work. Reproduce code: --------------- <body> <?php error_reporting(E_ALL); ini_set("display_error",1); $ftpc=ftp_connect($host); $ftpl=ftp_login($ftpc,$user,$password); ftp_pasv($ftpc,FALSE); ftp_get($ftpc,$distfile,$localfile,FTP_BINARY); ftp_pasv($ftpc,TRUE); ftp_get($ftpc,$distfile,$localfile,FTP_BINARY); ?> Expected result: ---------------- with passive mode off the error is PORT required to be upper to 1024 with passive mode on the error is a timeout