Fix uploads over 4 GB failing with a misleading size error

Livewire's temporary upload rule was hard-coded to max:4194304 (4 GB),
so /livewire/upload-file rejected any larger file no matter how high
PHP_UPLOAD_MAX_FILESIZE or the admin's max file size were set.
_uploadErrored() then replaced Livewire's actual message with "file
exceeds the maximum size of N MB", quoting the admin limit the file was
under.

The cap is removed: PHP's upload_max_filesize is the hard limit and the
admin setting is still enforced in updatedFiles() and createShare(). A
rejected upload now logs the real validation errors and tells the user
the server could not accept the file.

max_upload_time is configurable via LIVEWIRE_MAX_UPLOAD_TIME, and the
README documents every limit large uploads depend on.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017XYnWFt9pJEwvAmNFN38XD
This commit is contained in:
Andreas Reinhold / reini
2026-09-10 10:42:21 +02:00
co-authored by Claude Opus 5
parent 992f3da084
commit 126c0a5cdb
6 changed files with 67 additions and 18 deletions
+1
View File
@@ -59,6 +59,7 @@ services:
# PHP_MAX_EXECUTION_TIME: "300" # Upload timeout in seconds
# PHP_MAX_INPUT_TIME: "300" # Input processing timeout
# PHP_MEMORY_LIMIT: "512M" # PHP memory limit
# LIVEWIRE_MAX_UPLOAD_TIME: "30" # Minutes a single upload may take (raise for large files on slow links)
healthcheck:
test: ["CMD", "curl", "--silent", "--fail", "http://localhost/up"]
interval: 30s