Skip to content

pclzip and zero length files in PHP 8.x #258

@Jako

Description

@Jako

xPDO 2.x has issues with zero length files in PHP 8.x. The same code works fine in PHP 7.x. The same issue may occur with xPDO 3.x.

PHP Fatal error:  Uncaught ValueError: fread(): Argument #2 ($length) must be greater than 0 in /…/core/xpdo/compression/pclzip.lib.php:2678

I am not sure why this issue occurs only in PHP 8.x, but creating a transport file with PHP 7.4 works well and not with PHP 8.1/8.2 during my tests when an empty file (.gitignore in my case) exists in a folder in a package. If the file has a length of 1 byte everything works well.

It is more of a guide as to why the issue is occurring and how it can be resolved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions