Both nginx (client_max_body_size) and caddy (request_body.max_size) are already configured for 64M uploads, but PHP's own stock defaults (upload_max_filesize=2M, post_max_size=8M) were never raised to match -- so PHP itself truncated/rejected any plant photo upload past 2M (any modern phone camera JPEG) before PlantsModel::editPlantPhoto ever saw it, surfacing as a bare "Errorneous file" 500 with no indication it was ever a size limit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>