简体   繁体   中英

Unpacking the update… Could not create directory. Wordpress

When I instal nextgen-gallery plugins. This error message appears

Downloading update from https://downloads.wordpress.org/plugin/nextgen-gallery.zip…

Unpacking the update…

Could not create directory.

How can I fix this problem ?

This is a permissions issue. Ensure the directory is writable by apache. Plugins are unpacked into the wp-content/plugins directory, so I would first attempt writing to the directory as apache:

sudo -u apache touch /path/to/wp-content/plugins/test.txt

Set permissions accordingly to correct the issue. You can read about permissions here: https://www.pluralsight.com/blog/it-ops/linux-file-permissions

You can read about the correct file permission scheme for Wordpress here: https://wordpress.org/support/article/changing-file-permissions/

@skrilled and @knutole's answer was great but I found that when attempting to fix the issue on the plugins folder, everything was ok and the answer did not work for me.

If anyone else has this issue, try looking at the upgrades folder also. This folder (from what I can see) is used as a folder to store temporary files for when WP upgrades or plugin updates are being ran.

If you simply receive the message stating 'Could not create directory' and there is no path specified, it could actually be talking about the upgrades folder.

Most likely, if you have configured it correctly, the http server associated to your wordpress site belongs to the group www-data . That's how one should configure it correctly.

Try members www-data and ps aux | grep www-data ps aux | grep www-data to be sure. In the latter command you should see on the last columns either nginx or apache .

In this case, you just need to set that group to the directory

sudo chgrp -R www-data <your_wordpress_root_dir>/

and then add full group permissions to such directory

sudo chmod -R g+rwx <your_wordpress_root_dir>/

Now it works perfectly :)

for nginx people
if you have php-fpm installed you have to tell it that its user and group is nginx. /etc/php-fpm.d/www.conf . find user which is assigned to apache by default and change it to nginx. also do it for group. then run this command :

sudo service php-fpm restart


also inside of your wordpress directory execute these commands

sudo chown nginx:nginx * -R 
sudo usermod -a -G nginx username

change username into what your current username is.

yet you have to apply propper permissions. run these commands inside your wordpress directory

sudo find . -type f -exec chmod 664 {} + 
sudo find . -type d -exec chmod 775 {} +

如果您使用vsftpd作为 FTP 服务器并启用了被动连接,则需要将pasv_promiscuous=YES添加到/etc/vsftpd/vsftpd.conf

I was having a similar issue. It started with me trying to update a plugin on a migrated WP install. I didn't get it, all my permissions were EXACTLY the same as the old server. In my situation, I started to see that not much was working properly. I couldn't install/delete plugins or themes as well as uploading media would error out. Then I found the fix via some research.

If you are still having this issue, and changing permissions DID NOT fix the problem try this:

Go in to your hosting control panel and find your hosting settings, wherever you can edit your scripting settings. In Plesk (as in my example), this would be under Websites & Domains. Click on your domain name at the bottom. On the next screen, where it says "PHP support (run as..." change the dropdown from "Apache module" over to "FastCGI application" . Everything should be fixed up now!

快速CGI

(Re)setting the permissions via ftp didn't make a difference for me either. There is no SSH available, so I had to log in the control panel (directadmin in my case), the File Manager where I could "Reset Owner" to "File ownership reset" the /wp-contents directory.

I'm running Nginx with Wordpress. I deleted the upgrade folder in wp-content and then ran the upgrade from the wordpress GUI again. I noted the linux user for the upgrade folder created was www-data. I then did a {sudo chmod -R www-data:www-data .} Ran the upgrade again from the GUI and it worked.

Probably need to change the permissions on most of the folders so they can't be modified by www-data but I'll figure that out tomorrow.

权限问题,请确保 apache (www-data) 具有写入权限。

All the above is great, but I think you missed the simplest issue. Your website is using more space than it has allotted, and therefore it is broke. Wordpress makes more files as is in use. If you are on the margin of going over, a simple overnight issue where you did nothing is possible. Go to bed, everything fine. In the morning website is broke.

I own my websites so I go into the reseller part of Hostmonster or Hostgator (I have sites on both hosting platforms) and I reallocate more space and the problem goes away usually. Try that first, or look into it before messing around with permissions. If you changed a permission and the issue came up, could be permissions, otherwise, check this first.

I had the same issue when I tried to install wp plugin(s). However, I managed to solve the problem with the following command:

sudo wp plugin install [plugin name] --allow-root

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM