Error map

The bootstrap/cache directory must be present and writable Laravel: RuntimeException: The /var/www/bootstrap/cache directory must be present and writable.

Laravel · layer 4, Application & API

Open the full error page →

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.

The bootstrap/cache directory must be present and writable — Laravel: RuntimeException: The /var/www/bootstrap/cache directory must be present and writable. (Laravel)The bootstr…session save path — Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied (PHP)session save pathsudoers — user is not in the sudoers file. This incident will be reported. (Linux)sudoersavc: denied — SELinux is preventing ... / avc: denied { read } for pid=... (permission denied despite correct permissions) (Linux)avc: deniedLaravel storage — Laravel: The stream or file "storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied (PHP)Laravel storageUNPROTECTED PRIVATE KEY FILE — WARNING: UNPROTECTED PRIVATE KEY FILE! Permissions 0644 for 'key.pem' are too open (Linux)UNPROTECTED PRIVATE…Not allowed — WordPress: Sorry, you are not allowed to access this page. (WordPress)Not allowedLaravel: Allowed memory size exhausted (request) — Laravel/PHP: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in vendor/laravel/framework (Laravel)Laravel: Allowed me…503 Service Unavailable (maintenance mode stuck) — Laravel: Be right back. / 503 Service Unavailable after php artisan down (Laravel)503 Service Unavail…Unable to prepare route for serialization. Uses Closure — Laravel: LogicException: Unable to prepare route [dashboard] for serialization. Uses Closure. (Laravel)Unable to prepare r…Storage files 404: public/storage symlink missing — Laravel: 404 for /storage/file.jpg — symlink(): No such file or directory / The [public/storage] link already exists (Laravel)Storage files 404: …404 on all routes except home (public folder / .htaccess) — Laravel on shared hosting: homepage works but every other route returns 404 Not Found (Laravel)404 on all routes e…Your PHP version does not satisfy requirement — Composer/Laravel: Your Composer dependencies require a PHP version ">= 8.2.0". You are running 8.1.12 (Laravel)Your PHP version do…daemon — Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (Docker)daemonExpiredToken — AWS: ExpiredToken — The security token included in the request is expired (AWS)ExpiredToken401 — HTTP 401 Unauthorized (HTTP)401EACCES — Linux: Permission denied (Linux)EACCESdpkg lock — E: Could not get lock /var/lib/dpkg/lock-frontend — is another process using it? (Linux)dpkg lockAccessDeniedException — java.nio.file.AccessDeniedException: /path (Java)AccessDeniedExcepti…webhook signature — Webhook signature verification failed (Stripe, Razorpay, GitHub…) (API)webhook signaturepermission denied (volume) — Permission denied writing to a mounted volume inside a Docker container (Docker)permission denied (…REMOTE HOST IDENTIFICATION HAS CHANGED — WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (ssh host key changed) (Linux)REMOTE HOST IDENTIF…failed to open stream — Warning: include(x.php): Failed to open stream: No such file or directory (PHP)failed to open stre…No application encryption key — Laravel: No application encryption key has been specified. (PHP)No application encr…419 Page Expired — Laravel: 419 Page Expired (CSRF token mismatch) (PHP)419 Page Expiredpublickey — Git: Permission denied (publickey). fatal: Could not read from remote repository. (Git)publickeyssh port 22 Connection refused — ssh: connect to host x port 22: Connection refused (Linux)ssh port 22 Connect…Too many authentication failures — Received disconnect: Too many authentication failures (Linux)Too many authentica…403 — HTTP 403 Forbidden (HTTP)403DB connection — WordPress: Error Establishing a Database Connection (WordPress)DB connectionCritical error — WordPress: There Has Been a Critical Error on This Website (WordPress)Critical errorAllowed memory size exhausted — PHP Fatal error: Allowed memory size of X bytes exhausted (PHP)Allowed memory size…SIGSEGV — Segmentation fault (core dumped) (Linux)SIGSEGVOOM killer — Killed / Out of memory: Killed process (Linux OOM killer) (Linux)OOM killerMaintenance mode — WordPress: Briefly unavailable for scheduled maintenance. Check back in a minute. (WordPress)Maintenance modeenv() returns null (config cached) — Laravel: .env changes ignored / env('X') returns null after php artisan config:cache (Laravel)env() returns null …Command "x" is not defined — Laravel: Symfony\Component\Console\Exception\CommandNotFoundException: Command "make:livewire" is not defined. Did you mean one of these? (Laravel)Command "x" is not …Target class does not exist — Laravel: Target class [App\Http\Controllers\X] does not exist. (PHP)Target class does n…Network is unreachable — connect: Network is unreachable (ENETUNREACH) (Linux)Network is unreacha…rest_no_route — WordPress REST API: {"code":"rest_no_route","message":"No route was found matching the URL and request method."} (WordPress)rest_no_route1114 — MySQL ERROR 1114 (HY000): The table 'x' is full (MySQL)1114126 incorrect key file — MySQL ERROR 126 (HY000): Incorrect key file for table; try to repair it (MySQL)126 incorrect key f…Attempt to read property "x" on null — Laravel/PHP 8: ErrorException: Attempt to read property "name" on null (Laravel)Attempt to read pro…Route [login] not defined — Laravel: Symfony\Component\Routing\Exception\RouteNotFoundException: Route [login] not defined (Laravel)Route [login] not d…Class not found — PHP Fatal error: Uncaught Error: Class "X" not found (PHP)Class not foundComposer memory — Composer: PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (PHP)Composer memoryComposer conflict — Your requirements could not be resolved to an installable set of packages. (PHP)Composer conflict

Directly related (12)

session save pathPHP

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.

sudoersLinux

user is not in the sudoers file. This incident will be reported.

Your account isn’t allowed to use sudo.

avc: deniedLinux

SELinux is preventing ... / avc: denied { read } for pid=... (permission denied despite correct permissions)

SELinux blocked the access — file permissions look fine, but the file’s security context or a boolean doesn’t allow the service t…

Laravel storagePHP

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.

UNPROTECTED PRIVATE KEY FILELinux

WARNING: UNPROTECTED PRIVATE KEY FILE! Permissions 0644 for 'key.pem' are too open

SSH refuses to use a private key that other users can read; it must be readable only by you (chmod 600).

Not allowedWordPress

WordPress: Sorry, you are not allowed to access this page.

Your user role lacks the capability for that admin screen — or the database table prefix / user capabilities are out of sync afte…

Laravel: Allowed memory size exhausted (request)Laravel

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.

503 Service Unavailable (maintenance mode stuck)Laravel

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.

Unable to prepare route for serialization. Uses ClosureLaravel

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.

Storage files 404: public/storage symlink missingLaravel

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…

404 on all routes except home (public folder / .htaccess)Laravel

Laravel on shared hosting: homepage works but every other route returns 404 Not Found

The web server isn't sending requests to `public/index.php`, so only the root path works — the rewrite rules aren't active.

Your PHP version does not satisfy requirementLaravel

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).

Two steps away (34)

daemonDocker

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.

ExpiredTokenAWS

AWS: ExpiredToken — The security token included in the request is expired

Temporary AWS credentials (STS/SSO/assumed role) have expired.

401HTTP

HTTP 401 Unauthorized

The request has no valid authentication credentials — you need to log in or send a valid token.

EACCESLinux

Linux: Permission denied

Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.

dpkg lockLinux

E: Could not get lock /var/lib/dpkg/lock-frontend — is another process using it?

apt can’t run because another package operation (often automatic updates) holds the dpkg lock.

AccessDeniedExceptionJava

java.nio.file.AccessDeniedException: /path

The OS denied a file operation to the Java process.

webhook signatureAPI

Webhook signature verification failed (Stripe, Razorpay, GitHub…)

Your endpoint computed a different HMAC signature than the one the provider sent, so the webhook is rejected.

permission denied (volume)Docker

Permission denied writing to a mounted volume inside a Docker container

The process inside the container runs as a user (UID) that doesn’t own the bind-mounted host folder, so reads/writes fail with EA…

REMOTE HOST IDENTIFICATION HAS CHANGEDLinux

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (ssh host key changed)

The server’s SSH host key differs from the one saved in ~/.ssh/known_hosts — usually because the server was rebuilt or the IP was…

failed to open streamPHP

Warning: include(x.php): Failed to open stream: No such file or directory

PHP couldn’t open a file for include/require/fopen — wrong path, missing file, or no permission.

No application encryption keyPHP

Laravel: No application encryption key has been specified.

Laravel’s APP_KEY is missing, so it can’t encrypt sessions and cookies.

419 Page ExpiredPHP

Laravel: 419 Page Expired (CSRF token mismatch)

Laravel rejected a POST because the CSRF token was missing, expired or didn’t match the session.

publickeyGit

Git: Permission denied (publickey). fatal: Could not read from remote repository.

SSH authentication to GitHub/GitLab/Bitbucket failed — no key, wrong key, or the key isn’t added to your account.

ssh port 22 Connection refusedLinux

ssh: connect to host x port 22: Connection refused

The server answered, but nothing is listening on the SSH port — sshd isn’t running, it uses another port, or a firewall actively…

Too many authentication failuresLinux

Received disconnect: Too many authentication failures

Your SSH agent offered too many keys before the right one, and the server cut the connection (MaxAuthTries, default 6).

403HTTP

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…

DB connectionWordPress

WordPress: Error Establishing a Database Connection

WordPress can’t connect to its MySQL/MariaDB database with the credentials in wp-config.php, or the database server is down.

Critical errorWordPress

WordPress: There Has Been a Critical Error on This Website

A PHP fatal error (usually from a plugin or theme) stopped WordPress; the real error is in the debug log or recovery-mode email.

Allowed memory size exhaustedPHP

PHP Fatal error: Allowed memory size of X bytes exhausted

The script tried to use more memory than PHP’s `memory_limit` allows.

SIGSEGVLinux

Segmentation fault (core dumped)

A program accessed memory it wasn’t allowed to, and the kernel killed it with SIGSEGV (exit code 139).

OOM killerLinux

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).

Maintenance modeWordPress

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.

env() returns null (config cached)Laravel

Laravel: .env changes ignored / env('X') returns null after php artisan config:cache

After `config:cache`, Laravel no longer reads `.env`, so `env()` calls outside config files return null and edits to `.env` have…

Command "x" is not definedLaravel

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.

Target class does not existPHP

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.

Network is unreachableLinux

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.

rest_no_routeWordPress

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…

1114MySQL

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.

126 incorrect key fileMySQL

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.

Attempt to read property "x" on nullLaravel

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.

Route [login] not definedLaravel

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…

Class not foundPHP

PHP Fatal error: Uncaught Error: Class "X" not found

PHP couldn’t load the class — autoloading failed, the namespace is wrong, or the dependency isn’t installed.

Composer memoryPHP

Composer: PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted

Composer ran out of memory while resolving or installing dependencies.

Composer conflictPHP

Your requirements could not be resolved to an installable set of packages.

Composer can’t find package versions that satisfy every constraint (PHP version, extensions, other packages).