Error map
session_start() Warning: session_start(): Session cannot be started after headers have already been sent
PHP · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (12)
CORS Error: No 'Access-Control-Allow-Origin' header is present
The browser blocked a cross-origin request because the server’s response didn’t include the CORS headers allowing your site’s ori…
Passport.js: Error: Failed to serialize user into session
Passport logged a user in but there’s no serializeUser function (or it didn’t call done), so the session can’t store the user.
HTTP 401 Unauthorized
The request has no valid authentication credentials — you need to log in or send a valid token.
Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied
PHP can’t write session files to the configured session.save_path.
InvalidOperationException: Session has not been configured for this application or request
Code used HttpContext.Session, but session services/middleware aren’t registered — or UseSession runs after the endpoint that nee…
HTTP 411 Length Required
The server refuses a request with a body but no Content-Length header.
Unexpected characters at the top of the page / headers already sent by BOM
A UTF-8 byte-order mark (BOM) at the start of a PHP file is sent as output, breaking headers, JSON and images.
HTTP 100 Continue
An interim response telling the client to go ahead and send the request body — normal when the client sent Expect: 100-continue.
Cloudflare Error 1040 / 1041: Invalid request header modification
A Transform Rule tried to set or remove a request header that Cloudflare doesn’t allow to be modified, or produced an invalid val…
AWS: ExpiredToken — The security token included in the request is expired
Temporary AWS credentials (STS/SSO/assumed role) have expired.
Warning: Cannot modify header information - headers already sent
You called `header()`, `setcookie()` or `session_start()` after output had already been sent to the browser.
HTTP 103 Early Hints
An interim response that sends Link headers early so the browser can preload CSS, fonts or scripts while the server is still buil…
Two steps away (36)
AWS S3: AccessDenied (403) when calling GetObject / PutObject
An IAM policy, bucket policy, ACL/ownership setting, Block Public Access or KMS key policy denied the S3 request.
HTTP 403 Forbidden
The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…
HTTP 405 Method Not Allowed
The URL exists, but it doesn’t accept the HTTP method you used (e.g. POST to a GET-only route).
OIDC Error: login_required / interaction_required / consent_required (silent authentication failed)
A silent sign-in (prompt=none, iframe or refresh) couldn’t complete because the user must interact — no session, consent needed,…
OAuth callback error: state mismatch / Unable to verify authorization request state / State cookie was missing
The state value returned to the callback doesn’t match what the app stored before redirecting — the CSRF protection for OAuth fai…
ForbiddenError: invalid csrf token (EBADCSRFTOKEN)
The request’s CSRF token is missing or doesn’t match the token tied to the user’s session/cookie.
Kubernetes: ImagePullBackOff / ErrImagePull
The node can’t pull the container image — wrong name/tag, missing registry credentials, or registry unreachable.
Azure AD (Entra ID): AADSTS700016 Application not found in the directory
The client ID in your sign-in request doesn’t exist in the tenant you’re authenticating against.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
The docker CLI can’t talk to the Docker engine — it isn’t running, or your user can’t access the socket.
OAuth 2.0 Error: invalid_scope / insufficient_scope
The requested scope is unknown or not allowed for this client — or the token lacks the scope the API endpoint requires.
Laravel: The stream or file "storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied
The web server can’t write to Laravel’s storage or bootstrap/cache directories.
ASP.NET Core: The CORS protocol does not allow specifying a wildcard (any) origin and credentials at the same time
The CORS policy uses AllowAnyOrigin() together with AllowCredentials(), which browsers forbid.
AmbiguousMatchException: The request matched multiple endpoints. Matches: X, Y
Two controller actions or minimal API endpoints have the same route and HTTP method.
ASP.NET Core: The antiforgery token could not be decrypted / The required antiforgery cookie is not present (400 Bad Request)
Form POST failed antiforgery validation — the token is missing, the cookie is missing, or Data Protection keys changed so old tok…
HTTP 413 Content Too Large (Request Entity Too Large)
The request body is bigger than the server is willing to accept — usually a file upload over the configured limit.
Refused to load the script because it violates the following Content Security Policy directive
The page’s Content-Security-Policy doesn’t allow that script, style, image or connection source.
API Error: Missing required parameter (parameter_missing / "x" is required)
The API rejected the request because a field it requires — in the query string, path, headers or JSON body — wasn’t sent or was e…
HTTP 428 Precondition Required
The server requires a conditional request (If-Match / If-Unmodified-Since) to prevent lost updates, and you didn’t send one.
URIError: URI malformed
decodeURIComponent/decodeURI received an invalid percent-encoded sequence.
UnicodeEncodeError: 'charmap' codec can't encode character '\u2192'
Python tried to write text in an encoding that can’t represent some characters — common in Windows consoles and files opened with…
HTTP 505 HTTP Version Not Supported
The server doesn’t support the HTTP protocol version used in the request.
WordPress: The link you followed has expired
Usually an upload (theme, plugin, media) larger than PHP’s upload/post limits — WordPress receives an empty request and shows thi…
Upload error: File type not allowed / unsupported file type
The upload was rejected because the file’s type — extension, MIME type or actual content — isn’t on the allowed list.
HTTP 416 Range Not Satisfiable
The client asked for a byte range (Range: bytes=…) that lies outside the file — usually a resumed download of a file that changed…
HTTP 417 Expectation Failed
The server or a proxy can’t meet the Expect header in the request — almost always Expect: 100-continue.
Cloudflare Error 1035 / 1036: Invalid request rewrite (invalid URI path / query string)
A Transform Rule (URL rewrite) produced an invalid path or query string.
kubectl: The connection to the server localhost:8080 was refused — did you specify the right host or port?
kubectl has no usable kubeconfig, so it falls back to localhost:8080 — or the cluster API server is unreachable.
AWS: Unable to locate credentials / Could not load credentials from any providers
The AWS CLI/SDK found no credentials in any place it looks — env vars, profile files, SSO cache or an instance/task role.
AWS: SignatureDoesNotMatch / InvalidClientTokenId — the request signature we calculated does not match
AWS rejected the request signature — wrong secret key, wrong region, clock skew, or a presigned URL used differently from how it…
HTTP 500 Internal Server Error
The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.
PHP Fatal error: Uncaught Error: Call to undefined function
PHP can’t find the function you called — usually a missing extension, missing include, or namespace issue.
Warning: Undefined array key / Undefined index
Your code reads an array key that doesn’t exist — common with `$_GET`, `$_POST` and decoded JSON.
HTTP 504 Gateway Timeout
A proxy or gateway waited too long for the upstream server to respond and gave up.
Cloudflare Error 524: A Timeout Occurred
Cloudflare connected to the origin, but the origin didn’t send an HTTP response within 100 seconds.
HTTP 304 Not Modified
The cached copy is still valid, so the server sends no body and the client reuses its cache.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException