ID: 45220 Updated by: [EMAIL PROTECTED] Reported By: brockn at gmail dot com Status: Closed Bug Type: cURL related Operating System: CentOS release 4.6 (Final) PHP Version: 5.2.6 New Comment:
PHP 4 is dead and no fixes, even the simplest, will be applied to it. Previous Comments: ------------------------------------------------------------------------ [2008-08-13 18:55:30] brockn at gmail dot com Looks like php 4.4.9 is still broken. I know its not supported anymore, but people are going to be using it for quite some time so I'd think it might be prudent to fix it....given that its so simple. ------------------------------------------------------------------------ [2008-07-12 21:20:53] [EMAIL PROTECTED] This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. ------------------------------------------------------------------------ [2008-07-12 20:34:52] nicolas at brousse dot info You can also simply "patch" php source by fixing line 789 in ext/curl/interface.c : # before int length = -1; # after int length = 0; ------------------------------------------------------------------------ [2008-06-16 17:32:15] brockn at gmail dot com Yes, if you set POSTFIELDS to "", then curl_read does not return -1. The root of the problem is that the default return value is -1, when it should be 0 as it returns a size_t which is an unsigned type. A check was added in libcurl 7.18 where the value is cast to size_t and compared. This is the ``effect'' of the problem, but the cause is that the php supplied curl_read callback is returning -1. ------------------------------------------------------------------------ [2008-06-16 17:25:25] randearievilo at gmail dot com I have a similar code using cURL that worked fine in two platforms, but failed on other two. Platforms working: - Debian 4.0 / PHP 5.2.0 / Apache 2.2.8 / libcurl 7.15.5 - Windows XP / PHP 4.4.7 / Apache 1.3.39 / libcurl 7.16.0 Platforms not working: - Linux / PHP 4.4.7 / Apache 1.3.41 / libcurl 7.18.1 - Linux / PHP 5.2.5 / Apache 1.3.41 / libcurl 7.18.1 As you can see, the libcurl 7.18.x may really have a bug/error/problem. I think there was a change in the option CURLOPT_POST. Now, to use this option, it seems to be necessary to set the option CURLOPT_POSTFIELDS (curl_setopt($ch, CURLOPT_POSTFIELDS, "");). ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/45220 -- Edit this bug report at http://bugs.php.net/?id=45220&edit=1
