I have a multisite setup on a server that requires me to upload to a stage server then send a "publishnow.txt" file over to send everything to the production server. This is a state agency hence the extra steps in getting core file changes made and live on the web. This is very new to me having always worked with hosts like Godaddy.

I am having the hardest time configuring my tmp folder in order to upload any media to either of my 2 sites. I am getting the usual error of

“image.jpg” has failed to upload due to an error. Missing a temporary folder.

when I try to upload anything. My host has a public_html folder and a tmp folder in the root. I would love to tell Wordpress to use the tmp folder from the root, but I don't know if I need to write that in the wp-config.php file, the .htaccess file (which I cannot edit as the host says they do not parse that file) or something in the network settings within WP.

I am lost and losing time and patience is dwindling with my client. Perhaps someone with a clearer head could imaging the situation and advise me what I should try.

Thank you!

  • Wouldn't PHP/Apache determine the /tmp/ folder?
    – Tom J Nowell
    Commented Oct 5, 2012 at 19:13
  • I think this is true, but do I need to place something like 'define('WP_TEMP_DIR', ABSPATH . 'tmp');' in the wp-config file? Commented Oct 5, 2012 at 19:18
  • apparently there IS a WP_TEMP_DIR define
    – Tom J Nowell
    Commented Oct 5, 2012 at 19:29

1 Answer 1


As this sounds like an existing WordPress setup that 'was' working and now 'is not' working then check a couple of things: 1. have you recently moved server? or who else has changed anything on your server such as:
- file permissions for the WordPress folder - have these change?
- php.ini or .htaccess files - has anyone deleted these? - server vhost or httpd.conf files - were these changed

I'd follow these instructions which I found from a quick Google on the error:

If you are receiving this error please follow these simple instructions below:

  1. Create a "tmp" folder in your WordPress root directory with 777 permissions. This can be done by your FTP program.

    1. Also create a "php.ini" file in same location.
  2. Add the following in php.ini file:

    upload_max_filesize = 16M
    upload_tmp_dir = on
    upload_tmp_dir = /home/username/public_html/wordpressDir/tmp

    Please make sure to replace username with your hosting username, and wordpressDir with the directory name of your WordPress install.
    If you have installed WordPress on your homepage then the path will be like: upload_tmp_dir = /home/username/public_html/tmp

  3. Copy the same php.ini file to your wp_admin folder.

source: FastWebHost

  • My host tech has added the required WP network code to the vhost config file is all I'm aware of. Commented Oct 5, 2012 at 19:38

Your Answer

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

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