ID: 45220 User updated by: brockn at gmail dot com 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:
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. Previous Comments: ------------------------------------------------------------------------ [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, "");). ------------------------------------------------------------------------ [2008-06-09 19:07:32] brockn at gmail dot com Here are the details of the problem which occurs inside libcurl: http://curl.haxx.se/mail/lib-2008-06/0109.html http://curl.haxx.se/mail/lib-2008-06/0111.html http://curl.haxx.se/mail/lib-2008-06/0123.html ------------------------------------------------------------------------ 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
