No files and folders visible in NC25 web interface

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face: is for home/non-enterprise users. If you’re running a business, paid support can be accessed via where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:


Or for longer, use three backticks above and below the code snippet:


Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Nextcloud version: 25.0.2
Operating system and version: Linux 4.19.0-21-amd64 x86_64
Apache version: unknown
PHP version: 8.0.26

The issue you are facing:
I do not see any files or folders in the nextcloud web interface. The only thing that is shown is the amount of files that are in a certain folder and the respective size. Those numbers are correct - i can x-check them with any client (android, linux), where all files correctly exist and are still synced. I can also access certain folders in the web interface if i type in the folder in the URL, but i dont see anything in the UI.

There are no errors shown in the admin section or the nextcloud.log. To troubleshoot I disabled all apps, checked the behaviour (no change). I also ran php occ upgrade and php occ maintenance:repair (no change).

Is this the first time you’ve seen this error? (Y/N): Yes

Steps to replicate it:

  1. Upgraded from 24.0.8 to 25.0.2
  2. Open files application

The output of your Nextcloud log in Admin > Logging:

No error being shown

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

$CONFIG = array (
  'instanceid' => '',
  'passwordsalt' => '',
  'secret' => '',
  'trusted_domains' =>
  array (
    0 => '',
  'datadirectory' => '/var/www/vhosts/something/httpdocs/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '',
  'overwrite.cli.url' => '',
  'dbname' => '',
  'dbhost' => '',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => '',
  'dbpassword' => '',
  'installed' => true,
  'maintenance' => false,
  'theme' => '',
  'loglevel' => 2,
  '' => 'stable',
  'activity_use_cached_mountpoints' => true,
  'activity_expire_days' => 180,
  'default_language' => 'de',
  'default_locale' => 'de',
  'skeletondirectory' => '',

The output of your Apache/nginx/system log in /var/log/____:

[Thu Dec 15 10:22:58.161502 2022] [core:crit] [pid 26338] (13)Permission denied: [client] AH00529: /var/www/vhosts/ pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/vhosts/' is executable
[Thu Dec 15 10:23:45.668436 2022] [fcgid:warn] [pid 26198] (32)Broken pipe: [client] mod_fcgid: ap_pass_brigade failed in handle_request_ipc function

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

No error being shown

Okay, some minor advances with the issue:

If i set 'debug' => true in config.php, then i start to see all folders and files again in the web interface. The log then suddenly gets spammed heavily with:

{"reqId":"7iKf2vnKPdc6XSJSiuhJ","level":3,"time":"2022-12-20T20:39:58+00:00","remoteAddr":"2a02:810a:cc0:2bf0:b450:6d17:43a9:533f","user":"XXXXXX","app":"PHP","method":"GET","url":"/index.php/core/preview?fileId=50888&c=cf6271023d8df16f13ffb2cade82273c&x=250&y=250&forceIcon=0&a=0","message":"is_dir(): open_basedir restriction in effect. File(/opt/bin) is not within the allowed path(s): (/var/www/vhosts/ at /var/www/vhosts/","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36","version":"","exception":{"Exception":"Error","Message":"is_dir(): open_basedir restriction in effect. File(/opt/bin) is not within the allowed path(s): (/var/www/vhosts/ at /var/www/vhosts/","Code":0,"Trace":[{"function":"onAll","class":"OC\\Log\\ErrorHandler","type":"::","args":[2,"is_dir(): open_basedir restriction in effect. File(/opt/bin) is not within the allowed path(s): (/var/www/vhosts/","/var/www/vhosts/",58]},{"file":"/var/www/vhosts/","line":58,"function":"is_dir","args":["/opt/bin"]},{"file":"/var/www/vhosts/","line":55,"function":"find","class":"Symfony\\Component\\Process\\ExecutableFinder","type":"->","args":["openoffice",null,["/usr/local/sbin","/usr/local/bin","/usr/sbin","/usr/bin","/sbin","And 2 more entries, set log level to debug to see all entries"]]},{"file":"/var/www/vhosts/","line":397,"function":"findBinaryPath","class":"OC\\BinaryFinder","type":"->","args":["openoffice"]},{"file":"/var/www/vhosts/","line":239,"function":"registerCoreProviders","class":"OC\\PreviewManager","type":"->","args":[]},{"file":"/var/www/vhosts/","line":126,"function":"isAvailable","class":"OC\\PreviewManager","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"}]},{"file":"/var/www/vhosts/","line":113,"function":"fetchPreview","class":"OC\\Core\\Controller\\PreviewController","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},250,250,false,false,"fill"]},{"file":"/var/www/vhosts/","line":225,"function":"getPreviewByFileId","class":"OC\\Core\\Controller\\PreviewController","type":"->","args":[50888,250,250,false,false,"fill"]},{"file":"/var/www/vhosts/","line":133,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\PreviewController"},"getPreviewByFileId"]},{"file":"/var/www/vhosts/","line":172,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\PreviewController"},"getPreviewByFileId"]},{"file":"/var/www/vhosts/","line":298,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\PreviewController","getPreviewByFileId",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},["core.Preview.getPreviewByFileId"]]},{"file":"/var/www/vhosts/","line":1047,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/core/preview"]},{"file":"/var/www/vhosts/","line":36,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/vhosts/","Line":99,"CustomMessage":"--"}}

I have not changed anything regarding open_basedir. What does nextcloud or PHP trying to access in /usr/bin?

I now disabled generating previews with 'enable_previews' => false, and it stops the log spam.

But the issue remains, that I only see files and folders in the browser when i enable debugging (which should not stay enabled all the time).

Unfortunately, enabling debugging does not generate additional information about the issue.

Is there any downside in security if I put debug => true into the config? It appears to slow down everything a bit, but this is no big downside (compared to not being able to use the application at all).

Is it only a problem in your browser (maybe i do misunderstand it from your first post). If yes you can maybe use browser dev tolls (F12) and then e.g. Network to find not loading elements like Javascript. Also test with another browser, another operating system and another network.


Thanks for your response. It was tested on multiple OS, Browsers, Computers of other users, same everywhere. No files and folders can be seen unless I enable debug.

Just updated to 25.0.3 and it works again (even without enabling debug). Very weird, but whatever…

Same for me here: Upgraded from an ancient 21.0.7 installation via command line step-by-step (21.0.9 → 22.0.0 → 22.1.1 → 22.2.10 → 23.0.12 → 24.0.9 → 25.0.3).

The trick with enabled debug mode works for me as well. Unfortunately I directly jumped to most recent version 25.0.3. So the bug is still there as long as I do not run in debug mode.

I tried to compare the network requests for a full page load between a debug and a non-debug run.

Both runs had exactly one request with NON HTTP 200 status:
https://my.domain/ocs/v2.php/apps/text/workspace?path=%2F (HTTP 404)

Focusing on XHR I found a request to https://my.domain/remote.php/dav/files/my-user/ which would return XML data containing my files / directories in BOTH runs. I noticed a slight difference though when loading that URL in a separate tab with and without debug mode: In debug mode it would still show the XML, while without debug flag it would say “This is the WebDAV interface. It can only be accessed by WebDAV clients…”. But I guess this is correct since it was not loaded as XHR.