nextcloud/apps/settings
Ferdinand Thiessen ccc4d2eb9f
feat: add setup check for request buffering on FPM
Context: Using `Transfer-Encoding: chunked` of HTTP 1.1

PHP-FPM has a bug[1] where the request body is not passed to PHP
if the `Content-Length` header is missing, while FastCGI in general
allows this (I could reproduce that FastCGI passed the request stream
from NGinx) PHP-FPM does not forward this to the PHP application.

This means when using PHP-FPM we get an empty request body and thus
every `PUT` will be an empty file.

I tested that `mod_php` is not affected, while it also has no
`Content-Length` header, it correctly passed the stream and thus also
works without buffering the request.

Only PHP-FPM needs buffering of the request so that a `Content-Length`
header can be generated.

To enable this on Apache set: `SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1`
On NGinx: `fastcgi_request_buffering on;`.

[1]: https://github.com/php/php-src/issues/9441
ref: https://github.com/nextcloud/server/issues/7995

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-05 01:06:13 +02:00
..
appinfo feat: add setup check for request buffering on FPM 2025-09-05 01:06:13 +02:00
composer feat: add setup check for request buffering on FPM 2025-09-05 01:06:13 +02:00
css chore(assets): Recompile assets 2025-08-26 16:53:17 +00:00
data Fix duplicate sentence in 'Reasons to use Nextcloud.pdf' 2020-09-15 11:12:23 +02:00
img style(icon): Replace help icon with Material Symbol outlined variant 2025-08-29 16:19:20 +02:00
js chore: Add SPDX header 2024-06-03 20:33:31 +02:00
l10n fix(l10n): Update translations from Transifex 2025-09-04 00:12:58 +00:00
lib feat: add setup check for request buffering on FPM 2025-09-05 01:06:13 +02:00
src Merge pull request #54833 from nextcloud/fix/naming-of-quick-settings 2025-09-03 18:36:42 +02:00
templates feat(Settings): Add section to select preset 2025-08-27 14:20:58 +00:00
tests feat(settings): migrate setup checks to Vue to prevent visual issues 2025-08-26 18:35:55 +02:00
.editorconfig chore: Remove old travis related stuff 2024-09-19 20:16:29 +02:00
.gitignore chore: Add SPDX header 2024-06-03 20:33:31 +02:00
.l10nignore chore: Add SPDX header 2024-06-03 20:33:31 +02:00
openapi-administration.json chore(deps): Update nextcloud/openapi-extractor to v1.8.2 2025-08-26 10:21:10 +02:00
openapi-administration.json.license chore: Add SPDX header 2024-06-03 20:33:31 +02:00
openapi-full.json chore(deps): Update nextcloud/openapi-extractor to v1.8.2 2025-08-26 10:21:10 +02:00
openapi-full.json.license chore: Add SPDX header 2024-06-03 20:33:31 +02:00
openapi.json chore(deps): Update nextcloud/openapi-extractor to v1.8.2 2025-08-26 10:21:10 +02:00
openapi.json.license chore: Add SPDX header 2024-06-03 20:33:31 +02:00