Bug #77080 [Opn->Dup]: Deflate not working
Edit report at https://bugs.php.net/bug.php?id=77080&edit=1
ID: 77080
Updated by: cmb@php.net
Reported by: huisman at comandi dot nl
Summary: Deflate not working
-Status: Open
+Status: Duplicate
Type: Bug
-Package: Zlib related
+Package: Streams related
Operating System: Ubuntu 18.04.1 LTS
PHP Version: PHP 7.2.11
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
This appears to be a duplicate of bug #77069; I've just added a
test case to the respective PR[1].
[1] <https://github.com/php/php-src/pull/6001/commits/433195d6231ebef618bfbd1060cff9bb9e469996>
Previous Comments:
------------------------------------------------------------------------
[2019-12-12 13:34:25] martins256 at gmail dot com
The zlib.deflate stream filter is working as expected in these versions: 5.5.21 - 5.5.38, 5.6.5 -
7.1.33
But in these versions the zlib.deflate stream filter truncates data.
5.2.0 - 5.5.20, 5.6.0 - 5.6.4, 7.2.0 - 7.4.0
Here is another test code version:
$string = str_repeat("0123456789", 100);
$resource = fopen('data://text/plain,' . $string,'r');
stream_filter_append($resource, 'zlib.deflate', STREAM_FILTER_READ, 6);
$compressed = stream_get_contents($resource);
echo strlen($compressed);
Results visible here:
https://3v4l.org/OOjF4
------------------------------------------------------------------------
[2018-10-30 08:57:56] huisman at comandi dot nl
Strange, when ran on PHP 7.2.11-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Oct 25 2018 06:44:08) (
NTS ) in a script it's not working.
The following zlib configuration is set:
zlib
ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.11
Linked Version => 1.2.11
Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value
------------------------------------------------------------------------
[2018-10-30 08:56:31] huisman at comandi dot nl
Strange, ran on PHP 7.2.11-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Oct 25 2018 06:44:08) ( NTS
) in a script it's working.
The following zlib configuration is set:
zlib
ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.11
Linked Version => 1.2.11
Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value
------------------------------------------------------------------------
[2018-10-29 22:39:53] cmb@php.net
Works here: <https://3v4l.org/RRJ8b>.
------------------------------------------------------------------------
[2018-10-29 14:27:42] huisman at comandi dot nl
Description:
------------
stream_filter_append in combination with zlib.deflate no longer works as
expected in PHP 7.2 and produces an empty string instead of the expected compressed string. (see
test script).
Test script:
---------------
<?php
$stream = fopen('php://temp', 'w+');
fwrite($stream, 'something something');
stream_filter_append($stream, 'zlib.deflate', STREAM_FILTER_READ, ['level' =>
6]);
rewind($stream);
$contents = fread($stream, 1024);
Expected result:
----------------
A compressed string
Actual result:
--------------
An empty string
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=77080&edit=1
Thread (6 messages)