Error map
env() returns null (config cached) Laravel: .env changes ignored / env('X') returns null after php artisan config:cache
Laravel · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (11). 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 (11)
Laravel: Symfony\Component\Mailer\Exception\TransportException: Connection could not be established with host "smtp.mailtrap.io:2525": stream_socket_client(): Unable to connect
Laravel's mailer could not connect to the SMTP host configured in `.env`.
Laravel: SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: YES)
MySQL rejected the username/password configured in Laravel's `.env`.
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.
Laravel: Be right back. / 503 Service Unavailable after php artisan down
The application is in maintenance mode — after `php artisan down` (or a failed deploy) it was never brought back up.
Laravel scheduler: INFO No scheduled commands are ready to run. (tasks never execute)
`schedule:run` is executing but finds nothing due — or the cron entry that triggers it isn't set up.
Laravel: LogicException: Unable to prepare route [dashboard] for serialization. Uses Closure.
`php artisan route:cache` failed because a route uses a closure, which can't be cached.
Laravel: 404 for /storage/file.jpg — symlink(): No such file or directory / The [public/storage] link already exists
Uploaded files stored in `storage/app/public` aren't reachable because the `public/storage` symlink doesn't exist or points to th…
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: Predis\Connection\ConnectionException: Connection refused [tcp://127.0.0.1:6379] / RedisException: Connection refused
Laravel can't connect to Redis, which it uses for cache, sessions or queues.
Laravel: RuntimeException: Unsupported cipher or incorrect key length. Supported ciphers are: aes-128-cbc, aes-256-cbc, aes-128-gcm, aes-256-gcm
`APP_KEY` is missing, malformed or empty, or `config/app.php` cipher doesn't match the key length.
Two steps away (32)
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: 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: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'x@example.com' for key 'users_email_unique'
The query violated a database constraint — a duplicate value in a unique column or a missing/blocked foreign key.
Laravel: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'field list'
The SQL refers to a column that doesn't exist in the table — a missing migration, typo or wrong table.
Laravel: SQLSTATE[HY000] [2002] Connection refused (SQL: select * from sessions) / php_network_getaddresses: getaddrinfo failed
Laravel can't open a network connection to the database host and port from `.env`.
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).
WordPress: Briefly unavailable for scheduled maintenance. Check back in a minute.
An update was interrupted and WordPress left its `.maintenance` file behind, so the site stays in maintenance mode.
Laravel: RuntimeException: The /var/www/bootstrap/cache directory must be present and writable.
Laravel can't write its compiled cache files because the folder is missing or has the wrong permissions/owner.
Composer/Laravel: Your Composer dependencies require a PHP version ">= 8.2.0". You are running 8.1.12
The installed dependencies need a newer PHP than the one running the app (CLI or web server).
WordPress: Missed schedule — scheduled posts not publishing (WP-Cron not running)
WP-Cron didn’t fire at the scheduled time, so scheduled posts and tasks (backups, emails, WooCommerce jobs) are late.
Laravel: Symfony\Component\ErrorHandler\Error\FatalError: Maximum execution time of 30 seconds exceeded
A web request ran longer than PHP's `max_execution_time` and was killed.
Laravel Queue: Illuminate\Queue\MaxAttemptsExceededException: App\Jobs\SendReport has been attempted too many times or run too long
A queued job failed repeatedly or ran past its timeout, so it was marked failed.
connect: Network is unreachable (ENETUNREACH)
The host has no route to the destination network — no default gateway, interface down, or trying IPv6 without IPv6 connectivity.
WordPress REST API: {"code":"rest_no_route","message":"No route was found matching the URL and request method."}
The REST endpoint doesn’t exist for that URL and HTTP method — wrong namespace/route, plugin not active, or route registered too…
Laravel: Symfony\Component\Routing\Exception\RouteNotFoundException: Route [login] not defined
Code called route('name') for a route name that doesn’t exist — very often route('login') from the auth middleware in API-only ap…
MySQL ERROR 1114 (HY000): The table 'x' is full
MySQL couldn’t extend the table — disk full, a size limit, or a MEMORY table hitting max_heap_table_size.
MySQL ERROR 126 (HY000): Incorrect key file for table; try to repair it
MySQL can’t use a table’s index file — usually a full tmp disk during a query, or MyISAM corruption.
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.
WP-CLI: Error: This does not seem to be a WordPress installation. Pass --path=`path/to/wordpress` or run `wp core download`
WP-CLI couldn’t find WordPress in the current directory (or the --path given).
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: 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: 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.
WordPress: Error establishing a Redis connection (object cache)
The persistent object cache drop-in (object-cache.php) can’t connect to Redis, so the whole site fails.
Python: ConnectionRefusedError: [Errno 111] Connection refused — smtplib connect to localhost:25
Nothing is listening on the SMTP host and port your script connected to — often `localhost:25` because no host was given and no l…
Nodemailer: Error: connect ETIMEDOUT 142.250.27.108:465 (code: 'ETIMEDOUT', command: 'CONN')
Nodemailer could not open a connection to the SMTP server before the timeout — a blocked port, wrong host, or network issue.
Laravel: Illuminate\Contracts\Encryption\DecryptException: The payload is invalid. / The MAC is invalid.
Laravel couldn't decrypt a cookie, session or encrypted value — the `APP_KEY` changed or the data was corrupted.
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.
Map another error
Popular: 500403400ORA-009331064Critical errorFileNotFoundException assemblyTypeError