Error map
CORS blocked (Laravel API) Browser: Access to XMLHttpRequest at 'https://api.example.com' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header — Laravel
Laravel · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (9). 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 (9)
Laravel: Illuminate\Auth\Access\AuthorizationException: This action is unauthorized.
A policy or gate denied the action for the current user, so Laravel returned HTTP 403.
Laravel: Symfony\Component\Console\Exception\CommandNotFoundException: Command "make:livewire" is not defined. Did you mean one of these?
`php artisan` doesn't know the command you typed — typo, missing package or an unregistered service provider.
Laravel/PHP 8: ErrorException: Attempt to read property "name" on null
You accessed a property on a value that is `null`, typically an empty relationship or a query that found nothing.
Laravel/PHP: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in vendor/laravel/framework
A request (or artisan job) used more memory than PHP's `memory_limit` allows.
Browser: Access to fetch at 'http://localhost:3000/api/items' from origin 'http://localhost:5173' has been blocked by CORS policy — Rails
The browser blocks calls from your front end to the Rails API because CORS headers are missing.
Browser: Access to fetch at 'https://api.example.com/api/data' from origin 'https://app.example.com' has been blocked by CORS policy (Next.js route handler)
A cross-origin request to your Next.js API route is blocked because the response lacks CORS headers.
Laravel: Illuminate\Http\Exceptions\ThrottleRequestsException: Too Many Attempts. / 429 Too Many Requests
Laravel's rate limiter blocked the client for exceeding the allowed requests per minute.
Laravel: {"message":"The given data was invalid.","errors":{"email":["The email field is required."]}} (422)
Request validation failed, so Laravel returned HTTP 422 with the field errors.
Laravel Sanctum: {"message":"Unauthenticated."} 401 on API / SPA requests
A request to a `auth:sanctum` route had no valid token or session, so Laravel returned 401.
Two steps away (26)
Laravel: Target class [App\Http\Controllers\X] does not exist.
Laravel’s container couldn’t find the controller or class named in a route or binding.
Laravel: Error: Class "App\Models\Post" not found
PHP can't find the class you referenced — a missing import, wrong namespace or file name, or a stale autoloader.
Laravel: ErrorException: Undefined variable $posts (View: /resources/views/posts/index.blade.php)
A Blade template uses a variable the controller didn't pass to the view.
Laravel: No application encryption key has been specified.
Laravel’s APP_KEY is missing, so it can’t encrypt sessions and cookies.
Laravel: 419 Page Expired (CSRF token mismatch)
Laravel rejected a POST because the CSRF token was missing, expired or didn’t match the session.
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.
Laravel: Vite manifest not found at: public/build/manifest.json
Laravel’s @vite directive can’t find the compiled asset manifest because assets weren’t built.
Laravel: Expected response code "250" but got code "550", with message "550 5.7.1 Relaying denied"
Laravel connected and authenticated but the SMTP server rejected the message at the RCPT TO / MAIL FROM / DATA step with the code…
Laravel: BadMethodCallException: Call to undefined method App\Models\Post::whereTitle() / Illuminate\Database\Eloquent\Builder::foo()
You called a method the model, builder or collection doesn't have.
PHP Fatal error: Allowed memory size of X bytes exhausted
The script tried to use more memory than PHP’s `memory_limit` allows.
Segmentation fault (core dumped)
A program accessed memory it wasn’t allowed to, and the kernel killed it with SIGSEGV (exit code 139).
Killed / Out of memory: Killed process (Linux OOM killer)
The kernel ran out of memory and killed a process to recover — the program just prints “Killed” (exit code 137).
Rails: ActiveRecord::ConnectionNotEstablished: No connection pool for 'ActiveRecord::Base' found
ActiveRecord has no database connection configured or established for this process.
Rails: PG::ConnectionBad: could not connect to server: Connection refused. Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?
Rails can't reach PostgreSQL — the server is down, wrong host/port/socket, or credentials/pg_hba block it.
Rails: ActiveRecord::IrreversibleMigration — This migration uses remove_column without a type; db:rollback can't reverse it
`rails db:rollback` can't undo the migration because it contains an operation Rails can't invert.
Next.js: Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p> / In HTML, <p> cannot be a descendant of <p>. This will cause a hydration error
The rendered HTML has an invalid element nesting, so the browser "fixes" it and React's hydration no longer matches.
Next.js: You're importing a component that needs createContext. It only works in a Client Component but none of its parents are marked with "use client"
A context provider (or a lib that uses `createContext`) is used in a Server Component.
Next.js 15: Error: Route "/blog/[slug]" used `params.slug`. `params` should be awaited before using its properties
In Next.js 15 `params` and `searchParams` are Promises; reading properties synchronously triggers this error/warning.
SMTP: 421 4.7.0 Our system has detected an unusual rate of unsolicited mail originating from your IP address. Mail sent from your IP address has been temporarily rate limited
The receiving server (often Gmail or Outlook) is temporarily throttling your mail because the volume or reputation of your sendin…
Amazon SES: Throttling — Maximum sending rate exceeded (454 Throttling failure)
You are sending faster than your Amazon SES account's per-second limit, so SES throttles the requests.
MySQL ERROR 1406: Data too long for column
The value is longer than the column allows (e.g. 300 characters into VARCHAR(255)), and strict mode rejects it instead of truncat…
MySQL ERROR 1048 (23000): Column 'x' cannot be null
An INSERT/UPDATE put NULL into a NOT NULL column.
MySQL ERROR 1264 (22003): Out of range value for column 'x' at row 1
A number is too large (or negative for UNSIGNED) for the column type.
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.
Laravel: RuntimeException: Session store not set on request
Code used `session()` or `$request->session()` in a route/middleware group that doesn't run the session middleware.
Laravel JWT: Tymon\JWTAuth\Exceptions\TokenExpiredException: Token has expired / The token could not be parsed from the request
A JWT sent by the client is expired, invalid or absent, so `jwt-auth` rejects the request.
Map another error
Popular: 500403400ORA-009331064Critical errorFileNotFoundException assemblyTypeError