If a download from Download Plugins and Themes in ZIP from Dashboard fails with a server error or an empty ZIP, check for the admin notice about RecursiveIteratorIterator or zlib. Then go to WPFactory > Download plugins and Themes > Advanced Settings, switch the ZIP library, and set a writable temporary directory.
1. Check the plugin’s system requirements notice #
To build a ZIP, Download Plugins and Themes needs the RecursiveIteratorIterator class and the zlib extension (the gzopen function). It checks for both when you start a download and shows an admin notice if either is missing. If you see that notice, ask your host to enable the missing component. The plugin uses ZipArchive when it is available and falls back to PclZip, so a missing ZipArchive extension alone will not stop it, but zlib is required in either case.
2. Switch the ZIP library #
Some server setups produce broken or empty archives with one library but not the other. Go to WPFactory > Download plugins and Themes > Advanced Settings and change ZIP library (option alg_download_plugins_dashboard_zip_library) from ZipArchive to PclZip, or the reverse, then retry.
3. Set a writable temporary directory #
The ZIP is assembled in a temporary directory before it is sent to your browser. If that directory is not writable, the archive can come out empty or the build can fail. In Advanced Settings, set Temporary directory (option alg_download_plugins_dashboard_temp_dir) to a path you know the web server can write to, then try again.
4. Resolve open_basedir restrictions #
An open_basedir restriction can block the plugin from reading a plugin or theme folder or from writing the temporary ZIP. Check your PHP or web server error log for the message, then ask your host to add the WordPress path and your temporary directory to the allowed paths.
5. Raise the memory limit for large downloads #
If the error only happens with Download all or with very large plugins, the process may be running out of memory. Increase your WordPress memory limit and retry. See fixing Download all failures on large sites for the full guidance.
6. Confirm filesystem permissions #
The web server user needs read access to wp-content/plugins/ and wp-content/themes/ and write access to the temporary directory. If permissions were changed during a migration, restore them to your host’s defaults.
Still failing? #
Copy the exact error from your server log, along with your plugin version, WordPress version and host, then contact the Download Plugins and Themes support forum. For a corrupted or empty ZIP specifically, see fixing a corrupted or empty ZIP download.
