Bug #79013 [ReO->Csd]: Content-Length missing when posting a curlFile with curl
| From: | cmb@php.net | Date: | Mon, 02 Mar 2020 18:13:37 +0000 |
| Subject: | Bug #79013 [ReO->Csd]: Content-Length missing when posting a curlFile with curl | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-225845@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79013&edit=1
ID: 79013
Updated by: cmb@php.net
Reported by: christian at klemmer dot io
Summary: Content-Length missing when posting a curlFile with
curl
-Status: Re-Opened
+Status: Closed
Type: Bug
Package: cURL related
Operating System: debian 10.2
PHP Version: 7.4.1
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Automatic comment on behalf of cmbecker69@gmx.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=fc8b3ab7cbb4f5e77584babeaf25b9bf16f524cd
Log: Fix #79013: Content-Length missing when posting a curlFile with curl
Previous Comments:
------------------------------------------------------------------------
[2020-03-02 18:01:16] cmb@php.net
> Is there any alternative to who is running with 7.4.3?
If you can enforce HTTP/2, that should be sufficient.
------------------------------------------------------------------------
[2020-03-02 15:10:53] carlospauluk at gmail dot com
Is there any alternative to who is running with 7.4.3?
------------------------------------------------------------------------
[2020-02-28 10:12:55] cmb@php.net
The following pull request has been associated:
Patch Name: Fix #79013: Content-Length missing when posting a curlFile with curl
On GitHub: https://github.com/php/php-src/pull/5219
Patch: https://github.com/php/php-src/pull/5219.patch
------------------------------------------------------------------------
[2020-02-20 12:41:43] cmb@php.net
Related To: Bug #79289
------------------------------------------------------------------------
[2020-02-13 18:53:38] andrewscaya at yahoo dot ca
I can confirm that when PHP 7.4 reverts to using chunked file uploads, PHP scripts that were working
fine on PHP 7.2 or 7.3, no longer post anything to the server.
EXAMPLE SCRIPT
--------------
/* http://example.com:
<?php var_dump($_FILES); ?>
*/
// Create a cURL handle
$ch = curl_init('http://example.com/index.php');
$cfile = curl_file_create('example.txt','text/plain','test_name');
// Assign POST data
$postdata = ['file' => $cfile];
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
// Execute the handle
echo curl_exec($ch);
ACTUAL RESULTS
--------------
Using cURL 7.68.0 and PHP 7.3
-----------------------------
$_FILES:
/srv/www/index.php:5:
array (size=1)
'file' =>
array (size=5)
'name' => 'test_name' (length=9)
'type' => 'text/plain' (length=10)
'tmp_name' => '/tmp/php69gfI5' (length=14)
'error' => 0
'size' => 25
POST /index.php HTTP/1.1
Content-Type: multipart/form-data; boundary=------------------------63a96cbe43cf28f8
Content-Length: 212
Accept: */*
Host: example.com
Using cURL 7.68.0 and PHP 7.4
-----------------------------
$_FILES:
/srv/www/index.php:5:
array (size=0)
empty
POST /index.php HTTP/1.1
Expect: 100-continue
Content-Type: multipart/form-data; boundary=------------------------46680d0956db253f
Transfer-Encoding: chunked
Accept: */*
Host: example.com
EXPECTED RESULTS
----------------
Should be the same.
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=79013
--
Edit this bug report at https://bugs.php.net/bug.php?id=79013&edit=1