I'm using the migrate db plugin to do some find and replaces to the database after it's been exported.

It continues to pester me with the directory isn't writeable error. I've went and chmod'd the whole /wp-content folder with the following command:

chmod -R 777

which i know you're not suppoose to do; but it's driving me nuts. it still has the same silly error.

Does anyone know which folder it's asking to give the correct permissions?

  • What host are you on?
    – GavinR
    Jul 21, 2011 at 22:38
  • Mediatemple Grid Service
    – chrisjlee
    Jul 22, 2011 at 0:46

5 Answers 5


Ended up just exporting via command line. Neither answers were appropriate for the situation.


You may need to set the owner of all your web directories to the user that the web server is associated with (sometimes 'www-data'). The format is:

chown -R username directory

So you would use:

chown -R www-data:www-data directory
  • They don't give you permissions on the host i have to do that. So i don't think that maybe the issue.
    – chrisjlee
    Jul 22, 2011 at 13:08

From ServerFault:

(1) Connect to your server as the root user and open up /etc/group in a text editor. (2) Find the line that appears similar to: psacln:x:2523: (3) Add the following groups (do not change the groupID number): psacln:x:2523:apache,psaftp,psaadm (4) Grant group write access to any folders (5) Restart the apache service.

  • It's shared hosting. You're not given access to root user or sudo powers.
    – chrisjlee
    Jul 22, 2011 at 15:15

The problem is that your web hosting uses PHP 4, but wp-migrate-db requires PHP 5. More specifically, the WP_Migrate_DB class only specifies a PHP5 constructor (__construct), which is never called in PHP4, so the uploads directory is not initialized and the above error is displayed.


You need to create "uploads" directory in your /wp-content folder and add the write and read permissions of www user for it (or just "chmod 777 uploads").

  • 1
    Never set a public file or directory to 777.
    – fuxia
    Apr 21, 2012 at 11:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.