Bug #77080 [Com]: Deflate not working

From: Date: Thu, 12 Dec 2019 13:34:25 +0000
Subject: Bug #77080 [Com]: Deflate not working
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-224246@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77080&edit=1

 ID:                 77080
 Comment by:         martins256 at gmail dot com
 Reported by:        huisman at comandi dot nl
 Summary:            Deflate not working
 Status:             Open
 Type:               Bug
 Package:            Zlib related
 Operating System:   Ubuntu 18.04.1 LTS
 PHP Version:        PHP 7.2.11
 Block user comment: N
 Private report:     N

 New Comment:

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


Previous Comments:
------------------------------------------------------------------------
[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)

« previous php.bugs (#224246) next »