Subject: Issue with Updating Extension in MODX 3.0.5

Hello everyone,

I have been using MODX for over 10 years for my personal website, and I recently encountered an issue while trying to update the “Collections” extension to version 4.1.0-pl. Every time I attempt the update, I receive the following error messages:

Console running...
PHP deprecated: Creation of dynamic property MODX\Revolution\modConnectorResponse::$response is deprecated
Attempting to install package with signature: collections-4.1.0-pl
Package found...now preparing to install.
PHP deprecated: Creation of dynamic property MODX\Revolution\modConnectorResponse::$response is deprecated
Grabbing package workspace...
Workspace environment initiated, now installing package...
Attempting to preserve files at /home/bergerie/www/core/components/collections into archive /home/bergerie/www/core/packages/collections-4.1.0-pl/MODX/Revolution/modNamespace/a0e585751a7d744d796d14e1e9ed8ae0.0.preserved.zip
Attempting to preserve files at /home/bergerie/www/assets/components/collections into archive /home/bergerie/www/core/packages/collections-4.1.0-pl/MODX/Revolution/modNamespace/a0e585751a7d744d796d14e1e9ed8ae0.1.preserved.zip
Install failed with ValueError in /core/vendor/xpdo/xpdo/src/xPDO/Compression/pclzip.lib.php:2678: fread(): Argument #2 ($length) must be greater than 0
Could not install package with signature: collections-4.1.0-pl

I am currently using MODX version 3.0.5 and PHP 8.0. I have tried several troubleshooting steps, including checking file permissions and ensuring my MODX installation is up to date, but the issue persists.

Additionally, I am experiencing the exact same problem with other packages such as Gallery, modDevTools, and Guzzle7.

Could anyone provide guidance on how to resolve this issue? Any help would be greatly appreciated.

Thank you!

The problem is the PclZip library.
PclZip is on old MODX depenency (that is no longer maintained and can’t handle empty file in PHP 8).

PclZip is only used (as a fallback) if your PHP installation doesn’t have the zip extension (or if the system setting archive_with is explicitely set).

See also this Github issue:

Big Thanks for help.
“archive_with” was set to “yes” in system settings. “no” solves the issue.