Log permanently gives a warning .../data/tmp missing

(/tmp location is a config.php parameter that you can change - go here and search for /tmp. It’s the second hit on the page:


And don’t forget to restart your apache or nginx server after any changes.


Thanx, but i checked config.sample.php and there is no tmp directory to be configured:
E486: Pattern not found: tmp
E486: Pattern not found: temp

You can add it to your config.php

‘tempdirectory’ =/media/USBdrive/ncdata/tmp

1 Like

That did the trick, however, i think this should be taken care of by the ncp pannel when moving the data directory, wht do u think @nachoparker

Unless they changed something in Nextcloud, this is taken care of in nc-datadir

hmm, this creates the folder as far as i can see, which has been done, but where is it set in config.php?

that didn’t use to be necessary, unless it has changed

I tried moving the datadir with nc-datadir and then uploading files and I see no warnings. I will add the tempdirectory setting in any case

If anybody can share the steps to reproduce consistently we can look at it again

I had moved data dir while on a version 13.x of nextcloud, i actually didnt care about log output back then as everything seemed to work fine. Eventually after updating to 14.x i recently looked into logs and found that warning. However, i am not sure if this affected anything, there actually was no obvious problem before repair and i could not see any difference after that except of the warning disappeared from logs…

thanks for the info, this probably was fixed after you moved the datadir

1 Like

Just after updating to Nextcloud 20.0.8 via ncp-config this happened to me as well. Nextcloud continues to spam my log-file with the message Temporary directory /var/www/nextcloud/data/tmp is not present or writable. My quick-fix was to create that folder. However, it is probably desirable to have its path correctly set in config.php. Just wanted to let you know this “bug” still occurs.

1 Like

Uniek is correct, this issue also happened to me after updating to 20.0.8
It seems the news app is the one checking and writing to /var/www/nextcloud/data/tmp

Sorry to be a newbie, but where is this config.php located, or what is the full path?

Its in your nc install dir, depending on the webserver/os you use…
in debian based systems it should be /var/www/nextcloud/config/config.php

Seemingly out of nothing (or maybe because of the 20.0.11 update?) I got this same error, and I can’t sync files any more. The desktop client shows Connection Closed

The log is going crazy and is flooded with this output:

[no app in context] Warning: Temporary directory /var/www/nextcloud/data/tmp is not present or writable

PROPFIND /remote.php/dav/files/USERNAME/
from by USERNAME at 2021-07-06T08:03:48+00:00

this seems the solution, but, I need a bit more help.

What does “tempdirectory” stand for?
the rest is the path to my data on the drive, as I understand.


tempdirectory = Where Nextcloud saves files temporarily, until they are fully uploaded.


so I actually input ‘tempdirectory’ =/media/MYDIRECTORY/ncdata/tmp

thats right

If I had opened the config.php before, it would have been obvious… :man_facepalming:

I now got rid of that initial error, but I still can’t upload files. The log now gives me a PHP error:

[PHP] Error: Error: fread(): Unable to create temporary file, Check permissions in temporary files directory. at /var/www/nextcloud/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php#55 at <<closure>>

 0. <<closure>>
    OC\Log\ErrorHandler::onError(2, "fread(): Unable ... .", "/var/www/nextcl ... p", 55, {count: 8192})
 1. /var/www/nextcloud/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php line 55
    fread("*** sensitive parameter replaced ***", 8192)
 2. /var/www/nextcloud/lib/private/Files/Stream/HashWrapper.php line 64
 3. <<closure>>
 4. /var/www/nextcloud/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php line 55
    fread(null, 8192)
 5. /var/www/nextcloud/lib/private/Files/Stream/HashWrapper.php line 64
 6. <<closure>>
 7. /var/www/nextcloud/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php line 55
    fread(null, 8192)
 8. /var/www/nextcloud/lib/private/Files/Stream/HashWrapper.php line 64
 9. <<closure>>
10. /var/www/nextcloud/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php line 55
    fread(null, 8192)
11. /var/www/nextcloud/apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php line 96
12. <<closure>>
13. /var/www/nextcloud/lib/private/Files/Storage/Local.php line 570
    file_put_contents("/media/myCloudD ... g", null)
14. /var/www/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php line 627
    OC\Files\Storage\Local->writeStream("files/Photos/Ph ... g", null, "*** sensitive parameter replaced ***")
15. /var/www/nextcloud/apps/dav/lib/Connector/Sabre/File.php line 207
    OC\Files\Storage\Wrapper\Wrapper->writeStream("files/Photos/Ph ... g", null)
16. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 1143
17. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 515
    Sabre\DAV\Server->updateFile("*** sensitive parameters replaced ***")
18. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
    Sabre\DAV\CorePlugin->httpPut(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
19. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 474
    Sabre\DAV\Server->emit("method:PUT", [Sabre\HTTP\Requ ... }])
20. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 251
    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
21. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 319
22. /var/www/nextcloud/apps/dav/lib/Server.php line 332
23. /var/www/nextcloud/apps/dav/appinfo/v2/remote.php line 35
24. /var/www/nextcloud/remote.php line 167
    require_once("/var/www/nextcl ... p")

PUT /remote.php/dav/files/USER/Photos/PhotoUpload/NAME/2021/04/IMG_20210420_233426.jpg
from by hcpi at 2021-07-06T09:22:46+00:00

I already run the fix-permissios command. But I guess that’s a different kind of permissions that are denied.

You may also need to edit /etc/php/7.3/fpm/php.ini
add/check path value of tmp_upload_dir

as explained in

There are more threads on this subject.

This topic here has been marked solved some time ago, it is better start a new thread in general, instead of using an old one. (asked a mod to split it)