The Content-Length Mismatch That Hangs Your PHP Response

BOM adds 3 bytes. mb_strlen counts characters not bytes. Middleware mutates bodies. Three ways PHP breaks Content-Length.