- Nextcloud Server version (e.g., 29.x.x):
31.0.6
- Operating system and version (e.g., Ubuntu 24.04):
Ubuntu 24.04 running in VM on TrueNAS
- Web server and version (e.g, Apache 2.4.25):
Apache 2.4.58
- Reverse proxy and version _(e.g. nginx 1.27.2)
- unknown`
- PHP version (e.g, 8.3):
8.3
- Is this the first time you’ve seen this error? (Yes / No):
Yes, seems to happen with multi-gigabyte files
- When did this problem seem to first start?
When I've started having a family member upload a video of my Grandmother's Gravesite Funeral
- Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
Bare Metal
- Are you using CloudfIare, mod_security, or similar? (Yes / No)
Cloudflare for DDNS/DDOS protection
Summary of the issue you are facing:
While using the file drop share. Upload hangs after about 10-20% in Brave and constantly restarts upload in FIrefix roughly around the 10-20% mark (estimated). Happens both on Android, Windows and Linux. Successful with 500-600MB files
Steps to replicate it (hint: details matter!):
- Open link up, upload a 4+ GB file
- Upload just hangs (Brave) and restarts constantly (FireFox)
Log entries
Nextcloud
Assuming that’s the error that is sticking out when I try to run a file drop from any device. It’ll end up hanging. The way I’ve got it setup on my Nextcloud is I have my file drop going to my network drive which I have setup via SMB as external storage. Unsure whether it’s a permissions issue or not since I have my Nextcloud install running on a Ubuntu VM on Truenas.
Web Browser
If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.
BRAVE
newTemplatesFolder.ts:14 [DEBUG] files: Templates folder enabled {app: 'files', level: 0, templatesEnabled: true}
newTemplatesFolder.ts:15 [DEBUG] files: Initial templates folder {app: 'files', level: 0, templatesPath: false}
folderTree.ts:16 [DEBUG] @nextcloud/files: Navigation service initialized {app: '@nextcloud/files', level: 0}
convertAction.ts:36 [DEBUG] @nextcloud/files: FileActions initialized {app: '@nextcloud/files', level: 0}
init.ts:44 [DEBUG] @nextcloud/files: NewFileMenu initialized {app: '@nextcloud/files', level: 0}
noteToRecipient.ts:9 [DEBUG] @nextcloud/files: FileListHeaders initialized {app: '@nextcloud/files', level: 0}
images.js:55 [WARN] viewer: Some mimes were ignored because they are not enabled in the server previews config {app: 'viewer', level: 0, ignoredMimes: Array(4)}
log @ index.mjs:51
warn @ index.mjs:69
(anonymous) @ images.js:55
Viewer.js:65 [DEBUG] viewer: OCA.Viewer initialized {app: 'viewer', level: 0}
HotKeysService.ts:51 [DEBUG] files: Hotkeys registered {app: 'files', level: 0}
Settings.js:12 OCA.Files.Settings initialized
filters.ts:38 [DEBUG] files: New file list filter registered {app: 'files', level: 0, id: 'files:hidden'}
filters.ts:38 [DEBUG] files: New file list filter registered {app: 'files', level: 0, id: 'files:type'}
filters.ts:38 [DEBUG] files: New file list filter registered {app: 'files', level: 0, id: 'files:modified'}
uploader.ts:6 [DEBUG] @nextcloud/upload: Destination set {app: '@nextcloud/upload', level: 0, folder: kn}
uploader.ts:6 [DEBUG] @nextcloud/upload: Upload workspace initialized {app: '@nextcloud/upload', level: 0, destination: kn, root: 'https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j', isPublic: true, …}
HotKeysService.ts:20 [DEBUG] systemtags: Hotkeys registered {app: 'systemtags', level: 0}
Viewer.vue:534 [INFO] viewer: 5 viewer handlers registered {app: 'viewer', level: 0, handlers: Array(5)}
session-heartbeat.js:83 session heartbeat polling started
ajax-cron.ts:10 [DEBUG] core: Running web cron {app: 'core', level: 0}
ServiceWorker.js:23 [DEBUG] files: SW registered: {app: 'files', level: 0, registration: ServiceWorkerRegistration}
FilesList.vue:375 [DEBUG] files: Fetched contents {app: 'files', level: 0, dir: '/', folder: kn, contents: Array(0)}
FilesList.vue:326 [DEBUG] files: Directory contents changed {app: 'files', level: 0, view: ne, folder: kn, contents: Array(0)}
FilesListHeader.vue:40 Mounted note-to-recipient
FilesListHeader.vue:40 Mounted workspace
index.mjs:45 [DEBUG] @nextcloud/upload: Destination set {app: '@nextcloud/upload', level: 0, folder: kn}
index.mjs:45 [DEBUG] @nextcloud/upload: UploadPicker initialised {app: '@nextcloud/upload', level: 0}
ajax-cron.ts:12 [DEBUG] core: Web cron successfull {app: 'core', level: 0}
EMbKGKwLLM3L29j:1 Blocked aria-hidden on an element because its descendant retained focus. The focus must not be hidden from assistive technology users. Avoid using aria-hidden on a focused element or its ancestor. Consider using the inert attribute instead, which will also prevent focus. For more details, see the aria-hidden section of the WAI-ARIA specification at https://w3c.github.io/aria/#aria-hidden.
Element with focus: <button.action-button button-vue focusable>
Ancestor with aria-hidden: <div.v-popper__popper v-popper--theme-dropdown action-item__popper v-popper__popper--hidden v-popper__popper--hide-from#popper_au358xjj_jera0t> <div id="popper_au358xjj_jera0t" aria-hidden="true" tabindex="0" data-popper-placement="bottom" class="v-popper__popper v-popper--theme-dropdown action-item__popper v-popper__popper--hidden v-popper__popper--hide-to" style="position: absolute; transform: translate3d(96px, 102px, 0px);">…</div>
index.mjs:45 [DEBUG] @nextcloud/upload: Starting new batch upload {app: '@nextcloud/upload', level: 0, target: 'https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/'}
index.mjs:45 [DEBUG] @nextcloud/upload: Start directory upload {app: '@nextcloud/upload', level: 0, directory: j}
index.mjs:45 [DEBUG] @nextcloud/upload: Uploading Animal House.mp4 to https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/Animal%20House.mp4 {app: '@nextcloud/upload', level: 0}
index.mjs:45 [DEBUG] @nextcloud/upload: Initializing regular upload {app: '@nextcloud/upload', level: 0, file: File, upload: D}
index.mjs:45 [DEBUG] @nextcloud/upload: Uploader state reset {app: '@nextcloud/upload', level: 0}
index.mjs:48 [INFO] @nextcloud/upload: Upload cancelled by user {app: '@nextcloud/upload', level: 0, error: U: Upload has been cancelled
at i (https://cloud.abysstech.us/dist/files-main.js?v=88d3dca0-0:1…}
index.mjs:45 [DEBUG] @nextcloud/upload: Error while uploading {app: '@nextcloud/upload', level: 0, error: U: Upload has been cancelled
at https://cloud.abysstech.us/dist/files-main.js?v=88d3dca0-0:1:57…}
index.mjs:45 [DEBUG] @nextcloud/upload: Starting new batch upload {app: '@nextcloud/upload', level: 0, target: 'https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/'}
index.mjs:45 [DEBUG] @nextcloud/upload: Start directory upload {app: '@nextcloud/upload', level: 0, directory: j}
index.mjs:45 [DEBUG] @nextcloud/upload: Uploading Animal House.mp4 to https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/Animal%20House.mp4 {app: '@nextcloud/upload', level: 0}
index.mjs:45 [DEBUG] @nextcloud/upload: Initializing regular upload {app: '@nextcloud/upload', level: 0, file: File, upload: D}
FIREFOX
Content-Security-Policy warnings 2
[DEBUG] files: Templates folder enabled
Object { app: "files", level: 0, templatesEnabled: true }
core-common.js:1:1988659
[DEBUG] files: Initial templates folder
Object { app: "files", level: 0, templatesPath: false }
core-common.js:1:1988659
[DEBUG] @nextcloud/files: Navigation service initialized
Object { app: "@nextcloud/files", level: 0 }
core-common.js:1:1988659
[DEBUG] @nextcloud/files: FileActions initialized
Object { app: "@nextcloud/files", level: 0 }
core-common.js:1:1988659
[DEBUG] @nextcloud/files: NewFileMenu initialized
Object { app: "@nextcloud/files", level: 0 }
core-common.js:1:1988659
[DEBUG] @nextcloud/files: FileListHeaders initialized
Object { app: "@nextcloud/files", level: 0 }
core-common.js:1:1988659
[WARN] viewer: Some mimes were ignored because they are not enabled in the server previews config
Object { app: "viewer", level: 0, ignoredMimes: (4) […] }
logger-CuIjhGWb.chunk.mjs:5:366
[DEBUG] viewer: OCA.Viewer initialized
Object { app: "viewer", level: 0 }
logger-CuIjhGWb.chunk.mjs:5:230
[DEBUG] files: Hotkeys registered
Object { app: "files", level: 0 }
core-common.js:1:1988659
OCA.Files.Settings initialized files-main.js:1:249317
[DEBUG] files: New file list filter registered
Object { app: "files", level: 0, id: "files:hidden" }
core-common.js:1:1988659
[DEBUG] files: New file list filter registered
Object { app: "files", level: 0, id: "files:type" }
core-common.js:1:1988659
[DEBUG] files: New file list filter registered
Object { app: "files", level: 0, id: "files:modified" }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Destination set
Object { app: "@nextcloud/upload", level: 0, folder: {…} }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Upload workspace initialized
Object { app: "@nextcloud/upload", level: 0, destination: {…}, root: "https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j", isPublic: true, maxChunksSize: 104857600 }
core-common.js:1:1988659
Content-Security-Policy: The page’s settings blocked the loading of a resource (default-src) at https://cloud.abysstech.us/apps/bookmarks/js/bookmarks-src_components_CustomPickerElement_vue.js?v=94be6b8b51fcde4320dd because it violates the following directive: “default-src 'none'” bookmarks-references.js:2:1104008
[DEBUG] systemtags: Hotkeys registered
Object { app: "systemtags", level: 0 }
core-common.js:1:1988659
[INFO] viewer: 5 viewer handlers registered
Object { app: "viewer", level: 0, handlers: (5) […] }
logger-CuIjhGWb.chunk.mjs:5:299
session heartbeat polling started core-main.js:1:430156
[DEBUG] core: Running web cron
Object { app: "core", level: 0 }
core-common.js:1:1988659
[DEBUG] files: SW registered:
Object { app: "files", level: 0, registration: ServiceWorkerRegistration }
core-common.js:1:1988659
[DEBUG] files: Fetched contents
Object { app: "files", level: 0, dir: "/", folder: {…}, contents: [] }
core-common.js:1:1988659
[DEBUG] files: Directory contents changed
Object { app: "files", level: 0, view: {…}, folder: {…}, contents: [] }
core-common.js:1:1988659
Mounted note-to-recipient files-main.js:1:155706
Mounted workspace files-main.js:1:155706
[DEBUG] @nextcloud/upload: Destination set
Object { app: "@nextcloud/upload", level: 0, folder: {…} }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: UploadPicker initialised
Object { app: "@nextcloud/upload", level: 0 }
core-common.js:1:1988659
[DEBUG] core: Web cron successfull
Object { app: "core", level: 0 }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Starting new batch upload
Object { app: "@nextcloud/upload", level: 0, target: "https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/" }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Start directory upload
Object { app: "@nextcloud/upload", level: 0, directory: File }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Uploading steamdeck-repair-20250521.10-3.7.7.img to https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/steamdeck-repair-20250521.10-3.7.7.img
Object { app: "@nextcloud/upload", level: 0 }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Initializing regular upload
Object { app: "@nextcloud/upload", level: 0, file: File, upload: {…} }
core-common.js:1:1988659
[ERROR] @nextcloud/upload: Failed uploading steamdeck-repair-20250521.10-3.7.7.img
Object { app: "@nextcloud/upload", level: 0, error: {…}, file: File, upload: {…} }
core-common.js:1:1988857
XML Parsing Error: mismatched tag. Expected: </hr>.
Location: https://cloud.abysstech.us/index.php/s/EMbKGKwLLM3L29j
Line Number 6, Column 3: EMbKGKwLLM3L29j:6:3
[DEBUG] @nextcloud/upload: Uploader state reset
Object { app: "@nextcloud/upload", level: 0 }
core-common.js:1:1988659
[ERROR] @nextcloud/upload: Error in batch upload
Object { app: "@nextcloud/upload", level: 0, error: "Failed to upload the file" }
core-common.js:1:1988857
[DEBUG] @nextcloud/upload: Error while uploading
Object { app: "@nextcloud/upload", level: 0, error: "Failed to upload the file" }
core-common.js:1:1988659
OC.requestToken changed Jwgeh53L+52F3nS9u04ius9rbI4cOLQJcpTT3gbJsb4=:U09pteeOyPrnmkPK+SxUi4lfFOBEXsRYG/qVp1aZ0Iw= core-main.js:1:429731
[DEBUG] @nextcloud/upload: Starting new batch upload
Object { app: "@nextcloud/upload", level: 0, target: "https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/" }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Start directory upload
Object { app: "@nextcloud/upload", level: 0, directory: File }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Uploading Animal House.mp4 to https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/Animal%20House.mp4
Object { app: "@nextcloud/upload", level: 0 }
core-common.js:1:1988659
[DEBUG] @nextcloud/upload: Initializing regular upload
Object { app: "@nextcloud/upload", level: 0, file: File, upload: {…} }
core-common.js:1:1988659
Source map error: Error: request failed with status 404
Stack in the worker:networkRequest@resource://devtools/client/shared/source-map-loader/utils/network-request.js:43:9
Resource URL: https://cloud.abysstech.us/apps/bookmarks/js/bookmarks-references.js?v=88d3dca0-0
Source Map URL: bookmarks-references.js.map?v=19f3bca0f3d0f21fa09b
XHRPUT
https://cloud.abysstech.us/public.php/dav/files/EMbKGKwLLM3L29j/Animal House.mp4
[HTTP/3 500 29321ms]
[ERROR] @nextcloud/upload: Failed uploading Animal House.mp4
Object { app: "@nextcloud/upload", level: 0, error: {…}, file: File, upload: {…} }
core-common.js:1:1988857
XML Parsing Error: mismatched tag. Expected: </hr>.
Location: https://cloud.abysstech.us/index.php/s/EMbKGKwLLM3L29j
Line Number 6, Column 3: EMbKGKwLLM3L29j:6:3
[DEBUG] @nextcloud/upload: Uploader state reset
Object { app: "@nextcloud/upload", level: 0 }
core-common.js:1:1988659
[ERROR] @nextcloud/upload: Error in batch upload
Object { app: "@nextcloud/upload", level: 0, error: "Failed to upload the file" }
core-common.js:1:1988857
[DEBUG] @nextcloud/upload: Error while uploading
Object { app: "@nextcloud/upload", level: 0, error: "Failed to upload the file" }
core-common.js:1:1988659
OC.requestToken changed ju98enNp1MNvM3/P6YEBY8LvUy4GfsxeAoe5uSpZoiU=:+qgLSAks56QNd0i4q+N3UoTbK0BeGLwPa+n/wHoJwxc= core-main.js:1:429731
Web server / Reverse Proxy
The output of your Apache/nginx/system log in /var/log/____
:
172.71.156.151 - - [25/Jul/2025:22:22:26 +0000] "GET /ocs/v2.php/apps/dashboard/api/v1/widgets HTTP/1.1" 200 813
172.71.156.151 - - [25/Jul/2025:22:22:26 +0000] "PROPFIND /remote.php/dav/files/mottdm/ HTTP/1.1" 207 554
172.71.156.151 - - [25/Jul/2025:22:22:27 +0000] "GET /ocs/v2.php/apps/recommendations/api/v1/recommendations/always HTTP/1.1" 200 437
172.71.156.151 - - [25/Jul/2025:22:22:27 +0000] "PUT /ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json HTTP/1.1" 200 150
172.71.156.151 - - [25/Jul/2025:22:22:27 +0000] "GET /ocs/v2.php/apps/user_status/api/v1/user_status HTTP/1.1" 200 150
172.71.156.151 - - [25/Jul/2025:22:22:27 +0000] "GET /ocs/v2.php/apps/dashboard/api/v2/widget-items?widgets%5B%5D=spreed HTTP/1.1" 200 803
172.71.156.151 - - [25/Jul/2025:22:22:27 +0000] "GET /ocs/v2.php/apps/dashboard/api/v2/widget-items?widgets%5B%5D=calendar HTTP/1.1" 200 310
172.71.156.150 - - [25/Jul/2025:22:22:27 +0000] "GET /cron.php HTTP/1.1" 200 20
172.71.156.151 - - [25/Jul/2025:22:22:27 +0000] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/1.1" 200 711
172.71.156.151 - - [25/Jul/2025:22:22:28 +0000] "GET /index.php/apps/notes/notes/dashboard HTTP/1.1" 200 472
108.162.212.151 - - [25/Jul/2025:22:22:29 +0000] "GET /index.php/apps/files/preview-service-worker.js HTTP/1.1" 200 5253
172.71.156.151 - - [25/Jul/2025:22:22:29 +0000] "GET /index.php/settings/admin/overview HTTP/1.1" 200 13279
172.71.156.150 - - [25/Jul/2025:22:22:31 +0000] "GET /ocs/v2.php/apps/updatenotification/api/v1/applist/31.0.7.1 HTTP/1.1" 200 249
172.71.156.151 - - [25/Jul/2025:22:22:31 +0000] "GET /ocs/v2.php/apps/user_status/api/v1/user_status HTTP/1.1" 200 150
172.71.156.151 - - [25/Jul/2025:22:22:31 +0000] "PUT /ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json HTTP/1.1" 200 150
172.71.156.151 - - [25/Jul/2025:22:22:31 +0000] "GET /cron.php HTTP/1.1" 200 20
127.0.0.1 - - [25/Jul/2025:22:22:31 +0000] "PROPFIND /remote.php/webdav HTTP/1.1" 401 414
172.71.156.150 - - [25/Jul/2025:22:22:31 +0000] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/1.1" 200 711
172.71.156.151 - - [25/Jul/2025:22:22:31 +0000] "GET /ocs/v2.php/cloud/groups/details HTTP/1.1" 200 148
172.71.156.151 - - [25/Jul/2025:22:22:32 +0000] "GET /index.php/settings/admin/logging HTTP/1.1" 200 12270
[Fri Jul 25 22:22:33.584218 2025] [access_compat:error] [pid 36751] [client 127.0.0.1:54670] AH01797: client denied by server configuration: /var/www/nextcloud/data/.ncdata
172.71.156.151 - - [25/Jul/2025:22:22:33 +0000] "GET /index.php/apps/logreader/api/log?offset=0&query= HTTP/1.1" 200 3178
172.71.156.151 - - [25/Jul/2025:22:22:33 +0000] "PUT /ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json HTTP/1.1" 200 150
127.0.0.1 - - [25/Jul/2025:22:22:33 +0000] "GET /data/.ncdata HTTP/1.1" 404 4887
127.0.0.1 - - [25/Jul/2025:22:22:33 +0000] "GET /data/.ncdata HTTP/1.1" 301 331
[Fri Jul 25 22:22:33.728030 2025] [access_compat:error] [pid 36751] [client 127.0.0.1:54670] AH01797: client denied by server configuration: /var/www/nextcloud/data/.ncdata
172.71.156.150 - - [25/Jul/2025:22:22:33 +0000] "GET /ocs/v2.php/apps/user_status/api/v1/user_status HTTP/1.1" 200 150
172.71.156.151 - - [25/Jul/2025:22:22:33 +0000] "GET /cron.php HTTP/1.1" 200 20
127.0.0.1 - - [25/Jul/2025:22:22:33 +0000] "GET /data/.ncdata HTTP/1.1" 404 4887
172.71.156.150 - - [25/Jul/2025:22:22:33 +0000] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/1.1" 200 711
127.0.0.1 - - [25/Jul/2025:22:22:35 +0000] "HEAD /apps/settings/js/map-test.js.map HTTP/1.1" 200 -
127.0.0.1 - - [25/Jul/2025:22:22:35 +0000] "HEAD /apps/settings/js/esm-test.mjs HTTP/1.1" 200 -
127.0.0.1 - - [25/Jul/2025:22:22:35 +0000] "HEAD /ocm-provider/ HTTP/1.1" 200 -
108.162.212.152 - - [25/Jul/2025:22:22:35 +0000] "GET /index.php/apps/files/preview-service-worker.js HTTP/1.1" 200 5253
127.0.0.1 - - [25/Jul/2025:22:22:35 +0000] "HEAD /ocs-provider/ HTTP/1.1" 200 -
127.0.0.1 - - [25/Jul/2025:22:22:35 +0000] "GET /index.php/heartbeat HTTP/1.1" 200 -
127.0.0.1 - - [25/Jul/2025:22:22:35 +0000] "GET /.well-known/webfinger HTTP/1.1" 404 37
127.0.0.1 - - [25/Jul/2025:22:22:35 +0000] "GET /.well-known/nodeinfo HTTP/1.1" 404 36
127.0.0.1 - - [25/Jul/2025:22:22:36 +0000] "PROPFIND /.well-known/caldav HTTP/1.1" 301 335
127.0.0.1 - - [25/Jul/2025:22:22:36 +0000] "GET /remote.php/dav/ HTTP/1.1" 401 584
127.0.0.1 - - [25/Jul/2025:22:22:36 +0000] "PROPFIND /.well-known/carddav HTTP/1.1" 301 335
127.0.0.1 - - [25/Jul/2025:22:22:36 +0000] "GET /remote.php/dav/ HTTP/1.1" 401 584
127.0.0.1 - - [25/Jul/2025:22:22:36 +0000] "HEAD /apps/theming/fonts/OpenDyslexic-Regular.otf HTTP/1.1" 200 -
127.0.0.1 - - [25/Jul/2025:22:22:36 +0000] "HEAD /core/fonts/NotoSans-Regular-latin.woff2 HTTP/1.1" 200 -
127.0.0.1 - - [25/Jul/2025:22:22:36 +0000] "HEAD /apps/spreed/js/tflite.wasm HTTP/1.1" 200 -
172.71.156.151 - - [25/Jul/2025:22:22:31 +0000] "GET /index.php/settings/ajax/checksetup HTTP/1.1" 200 3325
::1 - - [25/Jul/2025:22:22:39 +0000] "OPTIONS * HTTP/1.0" 200 -
172.71.156.151 - - [25/Jul/2025:22:22:41 +0000] "GET /index.php/apps/logreader/api/log?offset=50&query= HTTP/1.1" 200 2957
::1 - - [25/Jul/2025:22:22:41 +0000] "OPTIONS * HTTP/1.0" 200 -
172.71.156.151 - - [25/Jul/2025:22:22:43 +0000] "GET /index.php/apps/logreader/api/poll?lastReqId=teJeLWLOpyCmfpv3B5bZ HTTP/1.1" 200 22
::1 - - [25/Jul/2025:22:22:48 +0000] "OPTIONS * HTTP/1.0" 200 -
172.69.132.139 - mottdm [25/Jul/2025:22:22:50 +0000] "PROPFIND /remote.php/dav/files/mottdm/ HTTP/1.1" 207 250
172.71.156.151 - - [25/Jul/2025:22:22:53 +0000] "GET /index.php/apps/logreader/api/poll?lastReqId=teJeLWLOpyCmfpv3B5bZ HTTP/1.1" 200 22
172.71.156.151 - - [25/Jul/2025:22:23:03 +0000] "GET /index.php/apps/logreader/api/poll?lastReqId=teJeLWLOpyCmfpv3B5bZ HTTP/1.1" 200 22
172.71.156.150 - - [25/Jul/2025:22:23:03 +0000] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/1.1" 304 -
172.71.156.151 - - [25/Jul/2025:22:23:09 +0000] "GET /index.php/settings/admin/logging HTTP/1.1" 200 12275
172.71.156.151 - - [25/Jul/2025:22:23:09 +0000] "GET /index.php/apps/logreader/api/log?offset=0&query= HTTP/1.1" 200 2386
172.71.156.150 - - [25/Jul/2025:22:23:09 +0000] "GET /ocs/v2.php/apps/user_status/api/v1/user_status HTTP/1.1" 200 150
172.71.156.151 - - [25/Jul/2025:22:23:10 +0000] "PUT /ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json HTTP/1.1" 200 150
172.71.156.151 - - [25/Jul/2025:22:23:10 +0000] "GET /cron.php HTTP/1.1" 200 20
172.71.156.150 - - [25/Jul/2025:22:23:10 +0000] "GET /index.php/apps/logreader/api/log?offset=50&query= HTTP/1.1" 200 2893
172.71.156.151 - - [25/Jul/2025:22:23:10 +0000] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/1.1" 200 711
108.162.212.151 - - [25/Jul/2025:22:23:12 +0000] "GET /index.php/apps/files/preview-service-worker.js HTTP/1.1" 200 5253
Configuration
Nextcloud
The output of occ config:list system
or similar is best, but, if not possible, the contents of your config.php
file from /path/to/nextcloud
is fine (make sure to remove any identifiable information!):
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"cloud.abysstech.us"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "31.0.6.2",
"overwrite.cli.url": "https:\/\/cloud.abysstech.us",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"memcache.local": "\\OC\\Memcache\\APCu",
"default_phone_region": "US",
"app_install_overwrite": [
"user_external",
"weather"
],
"loglevel": 0,
"maintenance": false,
"theme": "",
"updater.secret": "***REMOVED SENSITIVE VALUE***"
}
}
Config PHP.ini /etc/php/8.3/apache2/php.ini
{
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename
;
; For example:
;
; extension=mysqli
;
; When the extension library to load is not located in the default extension
; directory, You may specify an absolute path to the library file:
;
; extension=/path/to/extension/mysqli.so
;
; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
; deprecated in a future PHP major version. So, when it is possible, please
; move to the new ('extension=<ext>) syntax.
;
; Notes for Windows environments :
;
; - Many DLL files are located in the ext/
; extension folders as well as the separate PECL DLL download.
; Be sure to appropriately set the extension_dir directive.
;
;extension=bz2
; The ldap extension must be before curl if OpenSSL 1.0.2 and OpenLDAP is used
; otherwise it results in segfault when unloading after using SASL.
; See https://github.com/php/php-src/issues/8620 for more info.
;extension=ldap
;extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=oci8_19 ; Use with Oracle Database 19 Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
; The MIBS data available in the PHP distribution must be installed.
; See https://www.php.net/manual/en/snmp.installation.php
;extension=snmp
;extension=soap
;extension=sockets
;extension=sodium
;extension=sqlite3
;extension=tidy
;extension=xsl
;extension=zip
;zend_extension=opcache
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[CLI Server]
; Whether the CLI web server uses ANSI color coding in its terminal output.
cli_server.color = On
[Date]
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
date.timezone = America/New_York
; https://php.net/date.default-latitude
;date.default_latitude = 31.7667
; https://php.net/date.default-longitude
;date.default_longitude = 35.2333
; https://php.net/date.sunrise-zenith
;date.sunrise_zenith = 90.833333
; https://php.net/date.sunset-zenith
;date.sunset_zenith = 90.833333
[filter]
; https://php.net/filter.default
;filter.default = unsafe_raw
; https://php.net/filter.default-flags
;filter.default_flags =
[iconv]
; Use of this INI entry is deprecated, use global input_encoding instead.
; If empty, default_charset or input_encoding or iconv.input_encoding is used.
; The precedence is: default_charset < input_encoding < iconv.input_encoding
;iconv.input_encoding =
; Use of this INI entry is deprecated, use global internal_encoding instead.
; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
;iconv.internal_encoding =
; Use of this INI entry is deprecated, use global output_encoding instead.
; If empty, default_charset or output_encoding or iconv.output_encoding is used.
; The precedence is: default_charset < output_encoding < iconv.output_encoding
; To use an output encoding conversion, iconv's output handler must be set
; otherwise output encoding conversion cannot be performed.
;iconv.output_encoding =
[imap]
; rsh/ssh logins are disabled by default. Use this INI entry if you want to
; enable them. Note that the IMAP library does not filter mailbox names before
; passing them to rsh/ssh command, thus passing untrusted data to this function
; with rsh/ssh enabled is insecure.
;imap.enable_insecure_rsh=0
[intl]
;intl.default_locale =
; This directive allows you to produce PHP errors when some error
; happens within intl functions. The value is the level of the error produced.
; Default is 0, which does not produce any errors.
;intl.error_level = E_WARNING
;intl.use_exceptions = 0
[sqlite3]
; Directory pointing to SQLite3 extensions
; https://php.net/sqlite3.extension-dir
;sqlite3.extension_dir =
; SQLite defensive mode flag (only available from SQLite 3.26+)
; When the defensive flag is enabled, language features that allow ordinary
; SQL to deliberately corrupt the database file are disabled. This forbids
; writing directly to the schema, shadow tables (eg. FTS data tables), or
; the sqlite_dbpage virtual table.
; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html
; (for older SQLite versions, this flag has no use)
;sqlite3.defensive = 1
[Pcre]
; PCRE library backtracking limit.
; https://php.net/pcre.backtrack-limit
;pcre.backtrack_limit=100000
; PCRE library recursion limit.
; Please note that if you set this value to a high number you may consume all
; the available process stack and eventually crash PHP (due to reaching the
; stack size limit imposed by the Operating System).
; https://php.net/pcre.recursion-limit
;pcre.recursion_limit=100000
; Enables or disables JIT compilation of patterns. This requires the PCRE
; library to be compiled with JIT support.
;pcre.jit=1
[Pdo]
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
; https://php.net/pdo-odbc.connection-pooling
;pdo_odbc.connection_pooling=strict
[Pdo_mysql]
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
pdo_mysql.default_socket=
[Phar]
; https://php.net/phar.readonly
;phar.readonly = On
; https://php.net/phar.require-hash
;phar.require_hash = On
;phar.cache_list =
[mail function]
; For Win32 only.
; https://php.net/smtp
SMTP = localhost
; https://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; https://php.net/sendmail-from
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; https://php.net/sendmail-path
;sendmail_path =
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off
; Use mixed LF and CRLF line separators to keep compatibility with some
; RFC 2822 non conformant MTA.
mail.mixed_lf_and_crlf = Off
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog
[ODBC]
; https://php.net/odbc.default-db
;odbc.default_db = Not yet implemented
; https://php.net/odbc.default-user
;odbc.default_user = Not yet implemented
; https://php.net/odbc.default-pw
;odbc.default_pw = Not yet implemented
; Controls the ODBC cursor model.
; Default: SQL_CURSOR_STATIC (default).
;odbc.default_cursortype
; Allow or prevent persistent links.
; https://php.net/odbc.allow-persistent
odbc.allow_persistent = On
; Check that a connection is still valid before reuse.
; https://php.net/odbc.check-persistent
odbc.check_persistent = On
; Maximum number of persistent links. -1 means no limit.
; https://php.net/odbc.max-persistent
odbc.max_persistent = -1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
; https://php.net/odbc.max-links
odbc.max_links = -1
; Handling of LONG fields. Returns number of bytes to variables. 0 means
; passthru.
; https://php.net/odbc.defaultlrl
odbc.defaultlrl = 4096
; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
; of odbc.defaultlrl and odbc.defaultbinmode
; https://php.net/odbc.defaultbinmode
odbc.defaultbinmode = 1
[MySQLi]
; Maximum number of persistent links. -1 means no limit.
; https://php.net/mysqli.max-persistent
mysqli.max_persistent = -1
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
; https://php.net/mysqli.allow_local_infile
;mysqli.allow_local_infile = On
; It allows the user to specify a folder where files that can be sent via LOAD DATA
; LOCAL can exist. It is ignored if mysqli.allow_local_infile is enabled.
;mysqli.local_infile_directory =
; Allow or prevent persistent links.
; https://php.net/mysqli.allow-persistent
mysqli.allow_persistent = On
; Maximum number of links. -1 means no limit.
; https://php.net/mysqli.max-links
mysqli.max_links = -1
; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
; at MYSQL_PORT.
; https://php.net/mysqli.default-port
mysqli.default_port = 3306
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; https://php.net/mysqli.default-socket
mysqli.default_socket =
; Default host for mysqli_connect() (doesn't apply in safe mode).
; https://php.net/mysqli.default-host
mysqli.default_host =
; Default user for mysqli_connect() (doesn't apply in safe mode).
; https://php.net/mysqli.default-user
mysqli.default_user =
; Default password for mysqli_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
; and reveal this password! And of course, any users with read access to this
; file will be able to reveal the password as well.
; https://php.net/mysqli.default-pw
mysqli.default_pw =
; If this option is enabled, closing a persistent connection will rollback
; any pending transactions of this connection, before it is put back
; into the persistent connection pool.
;mysqli.rollback_on_cached_plink = Off
[mysqlnd]
; Enable / Disable collection of general statistics by mysqlnd which can be
; used to tune and monitor MySQL operations.
mysqlnd.collect_statistics = On
; Enable / Disable collection of memory usage statistics by mysqlnd which can be
; used to tune and monitor MySQL operations.
mysqlnd.collect_memory_statistics = Off
; Records communication from all extensions using mysqlnd to the specified log
; file.
; https://php.net/mysqlnd.debug
;mysqlnd.debug =
; Defines which queries will be logged.
;mysqlnd.log_mask = 0
; Default size of the mysqlnd memory pool, which is used by result sets.
;mysqlnd.mempool_default_size = 16000
; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
;mysqlnd.net_cmd_buffer_size = 2048
; Size of a pre-allocated buffer used for reading data sent by the server in
; bytes.
;mysqlnd.net_read_buffer_size = 32768
; Timeout for network requests in seconds.
;mysqlnd.net_read_timeout = 31536000
; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
; key.
;mysqlnd.sha256_server_public_key =
[OCI8]
; Connection: Enables privileged connections using external
; credentials (OCI_SYSOPER, OCI_SYSDBA)
; https://php.net/oci8.privileged-connect
;oci8.privileged_connect = Off
; Connection: The maximum number of persistent OCI8 connections per
; process. Using -1 means no limit.
; https://php.net/oci8.max-persistent
;oci8.max_persistent = -1
; Connection: The maximum number of seconds a process is allowed to
; maintain an idle persistent connection. Using -1 means idle
; persistent connections will be maintained forever.
; https://php.net/oci8.persistent-timeout
;oci8.persistent_timeout = -1
; Connection: The number of seconds that must pass before issuing a
; ping during oci_pconnect() to check the connection validity. When
; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
; pings completely.
; https://php.net/oci8.ping-interval
;oci8.ping_interval = 60
; Connection: Set this to a user chosen connection class to be used
; for all pooled server requests with Oracle Database Resident
; Connection Pooling (DRCP). To use DRCP, this value should be set to
; the same string for all web servers running the same application,
; the database pool must be configured, and the connection string must
; specify to use a pooled server.
;oci8.connection_class =
; High Availability: Using On lets PHP receive Fast Application
; Notification (FAN) events generated when a database node fails. The
; database must also be configured to post FAN events.
;oci8.events = Off
; Tuning: This option enables statement caching, and specifies how
; many statements to cache. Using 0 disables statement caching.
; https://php.net/oci8.statement-cache-size
;oci8.statement_cache_size = 20
; Tuning: Enables row prefetching and sets the default number of
; rows that will be fetched automatically after statement execution.
; https://php.net/oci8.default-prefetch
;oci8.default_prefetch = 100
; Tuning: Sets the amount of LOB data that is internally returned from
; Oracle Database when an Oracle LOB locator is initially retrieved as
; part of a query. Setting this can improve performance by reducing
; round-trips.
; https://php.net/oci8.prefetch-lob-size
; oci8.prefetch_lob_size = 0
; Compatibility. Using On means oci_close() will not close
; oci_connect() and oci_new_connect() connections.
; https://php.net/oci8.old-oci-close-semantics
;oci8.old_oci_close_semantics = Off
[PostgreSQL]
; Allow or prevent persistent links.
; https://php.net/pgsql.allow-persistent
pgsql.allow_persistent = On
; Detect broken persistent links always with pg_pconnect().
; Auto reset feature requires a little overheads.
; https://php.net/pgsql.auto-reset-persistent
pgsql.auto_reset_persistent = Off
; Maximum number of persistent links. -1 means no limit.
; https://php.net/pgsql.max-persistent
pgsql.max_persistent = -1
; Maximum number of links (persistent+non persistent). -1 means no limit.
; https://php.net/pgsql.max-links
pgsql.max_links = -1
; Ignore PostgreSQL backends Notice message or not.
; Notice message logging require a little overheads.
; https://php.net/pgsql.ignore-notice
pgsql.ignore_notice = 0
; Log PostgreSQL backends Notice message or not.
; Unless pgsql.ignore_notice=0, module cannot log notice message.
; https://php.net/pgsql.log-notice
pgsql.log_notice = 0
[bcmath]
; Number of decimal digits for all bcmath functions.
; https://php.net/bcmath.scale
bcmath.scale = 0
[browscap]
; https://php.net/browscap
;browscap = extra/browscap.ini
[Session]
; Handler used to store/retrieve data.
; https://php.net/session.save-handler
session.save_handler = files
; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; The path can be defined as:
;
; session.save_path = "N;/path"
;
; where N is an integer. Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories. This is useful if
; your OS has problems with many files in one directory, and is
; a more efficient layout for servers that handle many sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
; You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
; use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
; session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
; https://php.net/session.save-path
;session.save_path = "/var/lib/php/sessions"
; Whether to use strict session mode.
; Strict session mode does not accept an uninitialized session ID, and
; regenerates the session ID if the browser sends an uninitialized session ID.
; Strict mode protects applications from session fixation via a session adoption
; vulnerability. It is disabled by default for maximum compatibility, but
; enabling it is encouraged.
; https://wiki.php.net/rfc/strict_sessions
session.use_strict_mode = 0
; Whether to use cookies.
; https://php.net/session.use-cookies
session.use_cookies = 1
; https://php.net/session.cookie-secure
;session.cookie_secure =
; This option forces PHP to fetch and use a cookie for storing and maintaining
; the session id. We encourage this operation as it's very helpful in combating
; session hijacking when not specifying and managing your own session id. It is
; not the be-all and end-all of session hijacking defense, but it's a good start.
; https://php.net/session.use-only-cookies
session.use_only_cookies = 1
; Name of the session (used as cookie name).
; https://php.net/session.name
session.name = PHPSESSID
; Initialize session on request startup.
; https://php.net/session.auto-start
session.auto_start = 0
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
; https://php.net/session.cookie-lifetime
session.cookie_lifetime = 0
; The path for which the cookie is valid.
; https://php.net/session.cookie-path
session.cookie_path = /
; The domain for which the cookie is valid.
; https://php.net/session.cookie-domain
session.cookie_domain =
; Whether or not to add the httpOnly flag to the cookie, which makes it
; inaccessible to browser scripting languages such as JavaScript.
; https://php.net/session.cookie-httponly
session.cookie_httponly =
; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF)
; Current valid values are "Strict", "Lax" or "None". When using "None",
; make sure to include the quotes, as `none` is interpreted like `false` in ini files.
; https://tools.ietf.org/html/draft-west-first-party-cookies-07
session.cookie_samesite =
; Handler used to serialize data. php is the standard serializer of PHP.
; https://php.net/session.serialize-handler
session.serialize_handler = php
; Defines the probability that the 'garbage collection' process is started on every
; session initialization. The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts on each request.
; Default Value: 1
; Development Value: 1
; Production Value: 1
; https://php.net/session.gc-probability
; Debian Default Value: 0
; This is disabled in the Debian packages due to the strict permissions
; on /var/lib/php. Instead, GC is performed through /etc/cron.d/php,
; which uses the session.gc_maxlifetime setting. Please, check
; /usr/share/doc/php8.2-common/README.Debian.gz for further reference.
session.gc_probability = 0
; Defines the probability that the 'garbage collection' process is started on every
; session initialization. The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts on each request.
; For high volume production servers, using a value of 1000 is a more efficient approach.
; Default Value: 100
; Development Value: 1000
; Production Value: 1000
; https://php.net/session.gc-divisor
session.gc_divisor = 1000
; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
; https://php.net/session.gc-maxlifetime
session.gc_maxlifetime = 1440
; NOTE: If you are using the subdirectory option for storing session files
; (see session.save_path above), then garbage collection does *not*
; happen automatically. You will need to do your own garbage
; collection through a shell script, cron entry, or some other method.
; For example, the following script is the equivalent of setting
; session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; find /path/to/sessions -cmin +24 -type f | xargs rm
; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
; https://php.net/session.referer-check
session.referer_check =
; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
; https://php.net/session.cache-limiter
session.cache_limiter = nocache
; Document expires after n minutes.
; https://php.net/session.cache-expire
session.cache_expire = 180
; trans sid support is disabled by default.
; Use of trans sid may risk your users' security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publicly accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
; https://php.net/session.use-trans-sid
session.use_trans_sid = 0
; Set session ID character length. This value could be between 22 to 256.
; Shorter length than default is supported only for compatibility reason.
; Users should use 32 or more chars.
; https://php.net/session.sid-length
; Default Value: 32
; Development Value: 26
; Production Value: 26
session.sid_length = 26
; The URL rewriter will look for URLs in a defined set of HTML tags.
; <form> is special; if you include them here, the rewriter will
; add a hidden <input> field with the info which is otherwise appended
; to URLs. <form> tag's action attribute URL will not be modified
; unless it is specified.
; Note that all valid entries require a "=", even if no value follows.
; Default Value: "a=href,area=href,frame=src,form="
; Development Value: "a=href,area=href,frame=src,form="
; Production Value: "a=href,area=href,frame=src,form="
; https://php.net/url-rewriter.tags
session.trans_sid_tags = "a=href,area=href,frame=src,form="
; URL rewriter does not rewrite absolute URLs by default.
; To enable rewrites for absolute paths, target hosts must be specified
; at RUNTIME. i.e. use ini_set()
; <form> tags is special. PHP will check action attribute's URL regardless
; of session.trans_sid_tags setting.
; If no host is defined, HTTP_HOST will be used for allowed host.
; Example value: php.net,www.php.net,wiki.php.net
; Use "," for multiple hosts. No spaces are allowed.
; Default Value: ""
; Development Value: ""
; Production Value: ""
;session.trans_sid_hosts=""
; Define how many bits are stored in each character when converting
; the binary hash data to something readable.
; Possible values:
; 4 (4 bits: 0-9, a-f)
; 5 (5 bits: 0-9, a-v)
; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")
; Default Value: 4
; Development Value: 5
; Production Value: 5
; https://php.net/session.hash-bits-per-character
session.sid_bits_per_character = 5
; Enable upload progress tracking in $_SESSION
; Default Value: On
; Development Value: On
; Production Value: On
; https://php.net/session.upload-progress.enabled
;session.upload_progress.enabled = On
; Cleanup the progress information as soon as all POST data has been read
; (i.e. upload completed).
; Default Value: On
; Development Value: On
; Production Value: On
; https://php.net/session.upload-progress.cleanup
;session.upload_progress.cleanup = On
; A prefix used for the upload progress key in $_SESSION
; Default Value: "upload_progress_"
; Development Value: "upload_progress_"
; Production Value: "upload_progress_"
; https://php.net/session.upload-progress.prefix
;session.upload_progress.prefix = "upload_progress_"
; The index name (concatenated with the prefix) in $_SESSION
; containing the upload progress information
; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
; https://php.net/session.upload-progress.name
;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
; How frequently the upload progress should be updated.
; Given either in percentages (per-file), or in bytes
; Default Value: "1%"
; Development Value: "1%"
; Production Value: "1%"
; https://php.net/session.upload-progress.freq
;session.upload_progress.freq = "1%"
; The minimum delay between updates, in seconds
; Default Value: 1
; Development Value: 1
; Production Value: 1
; https://php.net/session.upload-progress.min-freq
;session.upload_progress.min_freq = "1"
; Only write session data when session data is changed. Enabled by default.
; https://php.net/session.lazy-write
;session.lazy_write = On
[Assertion]
; Switch whether to compile assertions at all (to have no overhead at run-time)
; -1: Do not compile at all
; 0: Jump over assertion at run-time
; 1: Execute assertions
; Changing from or to a negative value is only possible in php.ini!
; (For turning assertions on and off at run-time, toggle zend.assertions between the values 1 and 0)
; Default Value: 1
; Development Value: 1
; Production Value: -1
; https://php.net/zend.assertions
zend.assertions = -1
[COM]
; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
; https://php.net/com.typelib-file
;com.typelib_file =
; allow Distributed-COM calls
; https://php.net/com.allow-dcom
;com.allow_dcom = true
; autoregister constants of a component's typelib on com_load()
; https://php.net/com.autoregister-typelib
;com.autoregister_typelib = true
; register constants casesensitive
; https://php.net/com.autoregister-casesensitive
;com.autoregister_casesensitive = false
; show warnings on duplicate constant registrations
; https://php.net/com.autoregister-verbose
;com.autoregister_verbose = true
; The default character set code-page to use when passing strings to and from COM objects.
; Default: system ANSI code page
;com.code_page=
; The version of the .NET framework to use. The value of the setting are the first three parts
; of the framework's version number, separated by dots, and prefixed with "v", e.g. "v4.0.30319".
;com.dotnet_version=
[mbstring]
; language for internal character representation.
; This affects mb_send_mail() and mbstring.detect_order.
; https://php.net/mbstring.language
;mbstring.language = Japanese
; Use of this INI entry is deprecated, use global internal_encoding instead.
; internal/script encoding.
; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*)
; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
;mbstring.internal_encoding =
; Use of this INI entry is deprecated, use global input_encoding instead.
; http input encoding.
; mbstring.encoding_translation = On is needed to use this setting.
; If empty, default_charset or input_encoding or mbstring.input is used.
; The precedence is: default_charset < input_encoding < mbstring.http_input
; https://php.net/mbstring.http-input
;mbstring.http_input =
; Use of this INI entry is deprecated, use global output_encoding instead.
; http output encoding.
; mb_output_handler must be registered as output buffer to function.
; If empty, default_charset or output_encoding or mbstring.http_output is used.
; The precedence is: default_charset < output_encoding < mbstring.http_output
; To use an output encoding conversion, mbstring's output handler must be set
; otherwise output encoding conversion cannot be performed.
; https://php.net/mbstring.http-output
;mbstring.http_output =
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
; https://php.net/mbstring.encoding-translation
;mbstring.encoding_translation = Off
; automatic encoding detection order.
; "auto" detect order is changed according to mbstring.language
; https://php.net/mbstring.detect-order
;mbstring.detect_order = auto
; substitute_character used when character cannot be converted
; one from another
; https://php.net/mbstring.substitute-character
;mbstring.substitute_character = none
; Enable strict encoding detection.
;mbstring.strict_detection = Off
; This directive specifies the regex pattern of content types for which mb_output_handler()
; is activated.
; Default: mbstring.http_output_conv_mimetypes=^(text/|application/xhtml\+xml)
;mbstring.http_output_conv_mimetypes=
; This directive specifies maximum stack depth for mbstring regular expressions. It is similar
; to the pcre.recursion_limit for PCRE.
;mbstring.regex_stack_limit=100000
; This directive specifies maximum retry count for mbstring regular expressions. It is similar
; to the pcre.backtrack_limit for PCRE.
;mbstring.regex_retry_limit=1000000
[gd]
; Tell the jpeg decode to ignore warnings and try to create
; a gd image. The warning will then be displayed as notices
; disabled by default
; https://php.net/gd.jpeg-ignore-warning
;gd.jpeg_ignore_warning = 1
[exif]
; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
; With mbstring support this will automatically be converted into the encoding
; given by corresponding encode setting. When empty mbstring.internal_encoding
; is used. For the decode settings you can distinguish between motorola and
; intel byte order. A decode setting cannot be empty.
; https://php.net/exif.encode-unicode
;exif.encode_unicode = ISO-8859-15
; https://php.net/exif.decode-unicode-motorola
;exif.decode_unicode_motorola = UCS-2BE
; https://php.net/exif.decode-unicode-intel
;exif.decode_unicode_intel = UCS-2LE
; https://php.net/exif.encode-jis
;exif.encode_jis =
; https://php.net/exif.decode-jis-motorola
;exif.decode_jis_motorola = JIS
; https://php.net/exif.decode-jis-intel
;exif.decode_jis_intel = JIS
[Tidy]
; The path to a default tidy configuration file to use when using tidy
; https://php.net/tidy.default-config
;tidy.default_config = /usr/local/lib/php/default.tcfg
; Should tidy clean and repair output automatically?
; WARNING: Do not use this option if you are generating non-html content
; such as dynamic images
; https://php.net/tidy.clean-output
tidy.clean_output = Off
[soap]
; Enables or disables WSDL caching feature.
; https://php.net/soap.wsdl-cache-enabled
soap.wsdl_cache_enabled=1
; Sets the directory name where SOAP extension will put cache files.
; https://php.net/soap.wsdl-cache-dir
soap.wsdl_cache_dir="/tmp"
; (time to live) Sets the number of second while cached file will be used
; instead of original one.
; https://php.net/soap.wsdl-cache-ttl
soap.wsdl_cache_ttl=86400
; Sets the size of the cache limit. (Max. number of WSDL files to cache)
soap.wsdl_cache_limit = 5
[sysvshm]
; A default size of the shared memory segment
;sysvshm.init_mem = 10000
[ldap]
; Sets the maximum number of open links or -1 for unlimited.
ldap.max_links = -1
[dba]
;dba.default_handler=
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
; Determines if Zend OPCache is enabled for the CLI version of PHP
;opcache.enable_cli=0
; The OPcache shared memory storage size.
opcache.memory_consumption=128
; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=16
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed.
opcache.max_accelerated_files=10000
; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5
; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
;opcache.use_cwd=1
; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
;opcache.validate_timestamps=1
; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
opcache.revalidate_freq=1
; Enables or disables file search in include_path optimization
;opcache.revalidate_path=0
; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
opcache.save_comments=1
; If enabled, compilation warnings (including notices and deprecations) will
; be recorded and replayed each time a file is included. Otherwise, compilation
; warnings will only be emitted when the file is first cached.
;opcache.record_warnings=0
; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0
; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
;opcache.optimization_level=0x7FFFBFFF
;opcache.dups_fix=0
; The location of the OPcache blacklist file (wildcards allowed).
; Each OPcache blacklist file is a text file that holds the names of files
; that should not be accelerated. The file format is to add each filename
; to a new line. The filename may be a full path or just a file prefix
; (i.e., /var/www/x blacklists all the files and directories in /var/www
; that start with 'x'). Line starting with a ; are ignored (comments).
;opcache.blacklist_filename=
; Allows exclusion of large files from being cached. By default all files
; are cached.
;opcache.max_file_size=0
; How long to wait (in seconds) for a scheduled restart to begin if the cache
; is not being accessed.
;opcache.force_restart_timeout=180
; OPcache error_log file name. Empty string assumes "stderr".
;opcache.error_log=
; All OPcache errors go to the Web server log.
; By default, only fatal errors (level 0) or errors (level 1) are logged.
; You can also enable warnings (level 2), info messages (level 3) or
; debug messages (level 4).
;opcache.log_verbosity_level=1
; Preferred Shared Memory back-end. Leave empty and let the system decide.
;opcache.preferred_memory_model=
; Protect the shared memory from unexpected writing during script execution.
; Useful for internal debugging only.
;opcache.protect_memory=0
; Allows calling OPcache API functions only from PHP scripts which path is
; started from specified string. The default "" means no restriction
;opcache.restrict_api=
; Mapping base of shared memory segments (for Windows only). All the PHP
; processes have to map shared memory into the same address space. This
; directive allows to manually fix the "Unable to reattach to base address"
; errors.
;opcache.mmap_base=
; Facilitates multiple OPcache instances per user (for Windows only). All PHP
; processes with the same cache ID and user share an OPcache instance.
;opcache.cache_id=
; Enables and sets the second level cache directory.
; It should improve performance when SHM memory is full, at server restart or
; SHM reset. The default "" disables file based caching.
;opcache.file_cache=
; Enables or disables opcode caching in shared memory.
;opcache.file_cache_only=0
; Enables or disables checksum validation when script loaded from file cache.
;opcache.file_cache_consistency_checks=1
; Implies opcache.file_cache_only=1 for a certain process that failed to
; reattach to the shared memory (for Windows only). Explicitly enabled file
; cache is required.
;opcache.file_cache_fallback=1
; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
; Under certain circumstances (if only a single global PHP process is
; started from which all others fork), this can increase performance
; by a tiny amount because TLB misses are reduced. On the other hand, this
; delays PHP startup, increases memory usage and degrades performance
; under memory pressure - use with care.
; Requires appropriate OS configuration.
;opcache.huge_code_pages=0
; Validate cached file permissions.
;opcache.validate_permission=0
; Prevent name collisions in chroot'ed environment.
;opcache.validate_root=0
; If specified, it produces opcode dumps for debugging different stages of
; optimizations.
;opcache.opt_debug_level=0
; Specifies a PHP script that is going to be compiled and executed at server
; start-up.
; https://php.net/opcache.preload
;opcache.preload=
; Preloading code as root is not allowed for security reasons. This directive
; facilitates to let the preloading to be run as another user.
; https://php.net/opcache.preload_user
;opcache.preload_user=
; Prevents caching files that are less than this number of seconds old. It
; protects from caching of incompletely updated files. In case all file updates
; on your site are atomic, you may increase performance by setting it to "0".
;opcache.file_update_protection=2
; Absolute path used to store shared lockfiles (for *nix only).
;opcache.lockfile_path=/tmp
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
;curl.cainfo =
[openssl]
; The location of a Certificate Authority (CA) file on the local filesystem
; to use when verifying the identity of SSL/TLS peers. Most users should
; not specify a value for this directive as PHP will attempt to use the
; OS-managed cert stores in its absence. If specified, this value may still
; be overridden on a per-stream basis via the "cafile" SSL stream context
; option.
;openssl.cafile=
; If openssl.cafile is not specified or if the CA file is not found, the
; directory pointed to by openssl.capath is searched for a suitable
; certificate. This value must be a correctly hashed certificate directory.
; Most users should not specify a value for this directive as PHP will
; attempt to use the OS-managed cert stores in its absence. If specified,
; this value may still be overridden on a per-stream basis via the "capath"
; SSL stream context option.
;openssl.capath=
[ffi]
; FFI API restriction. Possible values:
; "preload" - enabled in CLI scripts and preloaded files (default)
; "false" - always disabled
; "true" - always enabled
;ffi.enable=preload
; List of headers files to preload, wildcard patterns allowed.
;ffi.preload=
}
Apps
The output of occ app:list
(if possible).
Enabled:
- activity: 4.0.0
- app_api: 5.0.2
- bookmarks: 15.1.2
- bruteforcesettings: 4.0.0
- calendar: 5.3.7
- circles: 31.0.0
- cloud_federation_api: 1.14.0
- comments: 1.21.0
- contacts: 7.2.2
- contactsinteraction: 1.12.0
- dashboard: 7.11.0
- dav: 1.33.0
- federatedfilesharing: 1.21.0
- federation: 1.21.0
- files: 2.3.1
- files_downloadlimit: 4.0.0
- files_external: 1.23.0
- files_pdfviewer: 4.0.0
- files_reminders: 1.4.0
- files_sharing: 1.23.1
- files_trashbin: 1.21.0
- files_versions: 1.24.0
- firstrunwizard: 4.0.0
- geoblocker: 0.5.16
- logreader: 4.0.0
- lookup_server_connector: 1.19.0
- nextcloud_announcements: 3.0.0
- notes: 4.12.2
- notifications: 4.0.0
- oauth2: 1.19.1
- password_policy: 3.0.0
- phonetrack: 0.8.2
- photos: 4.0.0-dev.1
- privacy: 3.0.0
- profile: 1.0.0
- provisioning_api: 1.21.0
- recommendations: 4.0.0
- related_resources: 2.0.0
- richdocumentscode: 25.4.202
- serverinfo: 3.0.0
- settings: 1.14.0
- sharebymail: 1.21.0
- spreed: 21.1.2
- support: 3.0.0
- survey_client: 3.0.0
- suspicious_login: 9.0.1
- systemtags: 1.21.1
- text: 5.0.0
- theming: 2.6.1
- twofactor_backupcodes: 1.20.0
- updatenotification: 1.21.0
- user_status: 1.11.0
- viewer: 4.0.0
- weather_status: 1.11.0
- webhook_listeners: 1.2.0
- workflowengine: 2.13.0
Disabled: - admin_audit: 1.21.0
- cospend: 3.0.11 (installed 3.0.11)
- encryption: 2.19.0
- maps: 1.6.0 (installed 1.6.0)
- money: 0.30.0 (installed 0.30.0)
- twofactor_nextcloud_notification: 5.0.0
- twofactor_totp: 13.0.0-dev.0
- user_ldap: 1.22.0