Error map
Apache shows PHP source or downloads .php files Browser shows <?php code or downloads index.php — mod_php / PHP-FPM handler not configured in Apache
Nginx / Apache · layer 3, Edge & web server
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)
FastCGI sent in stderr: "Primary script unknown"
Nginx passed a script path to PHP-FPM that PHP-FPM couldn’t find — usually a wrong SCRIPT_FILENAME or root.
WordPress: Your PHP installation appears to be missing the MySQL extension which is required by WordPress
PHP doesn’t have the mysqli extension loaded, so WordPress can’t talk to the database.
WordPress: Your server is running PHP version 7.2 but WordPress 6.x requires at least 7.4 / This plugin requires a newer version of PHP
WordPress core, a plugin or a theme needs a newer PHP than the server runs.
Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name
A harmless startup warning: Apache has no global ServerName, so it guessed one from the host’s IP.
Apache: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 / AH00015: Unable to open logs
Another process (Nginx, another Apache, Skype/IIS-like service) already listens on the port Apache wants.
Apache: AH00091: apache2: could not open error log file /var/log/apache2/error.log. AH00015: Unable to open logs (Permission denied)
Apache can't open its log files — permissions, a missing directory or disk problems.
Browser downloads index.php instead of rendering — Nginx has no fastcgi PHP location
Nginx serves `.php` files as static downloads because no `location ~ \.php$` passes them to PHP-FPM.
Apache: AH00526: Syntax error on line 12 of /etc/apache2/sites-enabled/site.conf: Invalid command 'Foo', perhaps misspelled or defined by a module not included in the server configuration
Apache's config has a syntax problem or a directive from a module that isn't loaded.
Apache: [core:error] AH00037: Symbolic link not allowed or link target not accessible: /var/www/html/current
Apache refuses to follow a symlink because `FollowSymLinks`/`SymLinksIfOwnerMatch` isn't allowed or the target isn't readable.
Two steps away (27)
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 404 Not Found
The server can’t find anything at the requested URL.
HTTP 502 Bad Gateway
A proxy or gateway (Nginx, load balancer, CDN) got an invalid response — or no response — from the upstream server behind it.
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.
aws: error: argument command: Invalid choice / Unknown options
The AWS CLI doesn’t recognise the command or option — usually CLI v1 vs v2 differences, an old CLI version, or a typo.
docker-compose: command not found / 'compose' is not a docker command
Your system has only one of the two Compose flavours: the old docker-compose (v1) binary or the newer docker compose (v2) plugin.
no matches for kind "Ingress" in version "extensions/v1beta1" (resource mapping not found)
The manifest uses an apiVersion/kind the cluster doesn’t serve — a removed beta API, or a CRD that isn’t installed.
Minimum supported Gradle version is 8.7. Current version is 8.2
The Android Gradle Plugin (AGP) version in your build needs a newer Gradle wrapper version.
Namespace not specified. Specify a namespace in the module's build file (AGP 8)
AGP 8 requires android { namespace = "…" } in each module’s build file; the package attribute in AndroidManifest.xml is no longer…
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.
OAuth Error: redirect_uri_mismatch
The redirect URI in your OAuth request doesn’t exactly match one registered for the client in the provider’s console.
Kubernetes: CreateContainerConfigError — secret / configmap not found
Kubernetes can’t build the container’s configuration — usually a referenced Secret, ConfigMap or key doesn’t exist in that namesp…
Error: listen EADDRINUSE: address already in use :::3000
Another process is already listening on that port.
Error: listen EACCES: permission denied 0.0.0.0:80
Node isn’t allowed to bind that port — ports below 1024 need root on Linux/macOS, and some Windows ports are reserved.
[nodemon] app crashed - waiting for file changes before starting...
Your app threw an error on startup; nodemon is waiting for a file change to retry.
HTTP 500 Internal Server Error
The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.
HTTP 499 Client Closed Request (Nginx)
Nginx-specific code logged when the client disconnected before the server finished responding.
Apache: AH02240: Server should be SSL-aware but has no certificate configured / SSLCertificateFile: file '/etc/ssl/x.crt' does not exist or is empty
Apache cannot find the certificate or key file named in its configuration, or `SSLEngine on` is set without any certificate.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
A Node API got an argument of the wrong type — usually undefined because an env var or config value is missing.
Warning: file_exists(): open_basedir restriction in effect. File(/x) is not within the allowed path(s)
PHP is configured to access only certain directories, and the script tried to touch a file outside them.
Laravel: No application encryption key has been specified.
Laravel’s APP_KEY is missing, so it can’t encrypt sessions and cookies.
PHP Parse error: syntax error, unexpected …
PHP can’t parse the file because of a syntax mistake — the real error is often on the line before the one reported.
Apache: [ssl:warn] AH01909: example.com:443:0 server certificate does NOT include an ID which matches the server name
Apache's SSL virtual host name does not match any name inside the certificate it loads.
Nginx: nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/conf.d/site.conf:42
The config ends while a block or directive is still open — a missing `}` or `;`.
Too many levels of symbolic links (ELOOP)
A symlink points to itself, directly or through a chain, so path resolution loops.
Nginx: [error] directory index of "/var/www/html/" is forbidden (403 Forbidden)
A directory was requested but no index file exists (or index is wrong) and autoindex is off, so Nginx returns 403.
Nginx: [error] open() "/home/user/site/index.html" failed (13: Permission denied), 403 Forbidden
The nginx worker user can't read the requested file or traverse a parent directory.
Map another error
Popular: 500403400ORA-009331064Critical errorFileNotFoundException assemblyTypeError