The following error tends to appear when updating a plugin from the WordPress plugin panel:
Update failed: The package could not be installed. PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file ‘/tmp/someverylongrandomfilename.tmp’
When troubleshooting the error, check each of the following. After each effort attempt the automatic download/update again to help isolate a cause:
Available Disk Storage
Check that your hosting account has enough available storage remaining to download, unpack and replace the plugin files in question. You can typically do this in your hosting account control panel provided by the host (cPanel, etc.).
Update PHP Version
Check that your hosting account is running the most current version of PHP supported by your WordPress installation, theme, other plugins, etc.
Consult the PHP Supported Versions table to see the support and end of life status of your version and other versions. NOTE: The most current version of PHP may not be supported by your installation if its various components do not support it.
Reset PHP to current version in CPanel (MultiPHP Manger) or via Your Webhost
If you are able to manage your current version of PHP via your provided hosting control panel. Attempt to reset it to the current version. This has a very low chance of being a cause, so feel free to ignore.
Manually Set a New /Temp Directory
Update failed: The package could not be installed. PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file ‘/tmp/someverylongfilename.tmp’
shows the location where the temporarily copy of the plugin files were downloaded (in this case /tmp which is one tier above the web root of the hosting account usually).
You can reset the temporary directory used by WordPress to download and unpack new plugin versions using the following steps.
First, MAKE SURE YOU HAVE A VIABLE, CURRENT BACKUP of your WordPress installation and database.
If you have access to your WordPress installation files via SFTP, or your control panel, you can alter the WordPress wp-config.php file found in the root of your installation.
First, create a new temporary directory, for example in the wp-content directory (/wp-content/temp) and set permissions for that directory to 755 (that’s rwxr-xr-x).
Next, download and open the wp-config.php file and edit it as follows.
Toward the end of the file, just beneath the following:
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
…add the following code:
/* Set WordPress temporary directory */
define('WP_TEMP_DIR', ABSPATH . 'wp-content/temp');
Make sure the directory path shown (e.g. ‘wp-content/temp’) matches the new directory you created above.
This line of code tells WordPress to use the new directory when downloading plugins during the update process.
Save and reupload the wp-config.php file replacing the previous version.
Is the Plugin Distribution Good?
While unlikely to be the source of your issue, check with the plugin developer and see if others have encountered a similar issue. Some plugins, such as Elementor Pro, experience issues with the automatic update process in general. Sweeping changes to a plugin may also result in a need for a manual update of the plugin.
Manually Update the Plugin
If the automatic plugin update features continues to fail, you may need to update the plugin file manually.
- First, download a copy of latest version of the plugin from the source (WordPress.org or the developer’s website)
- Secondly, make sure you have a backup of the plugin version installed on your server currently (the old version that is). You can download a copy via SFTP, your control panel, or by downloading a complete backup of your site from your host.
- Then, on the WordPress admin plugins page, deactivate and delete the old version of the plugin.
- Next, upload the extracted plugin files to the WordPress plugin directory (typically, /wp-content/plugins/).
- Activate the new version of the plugin on the WordPress plugin page and test its function.
I’d love to hear if you have solved this issue with another method. Drop me a comment below. Thanks!