Reference guide · website-errors · Published 2026-08-16 · 3 min read

Read website error logs

Read website error logs: find the log, map the entry to the page, and use Apache, nginx and PHP lines to fix a failing site.

Find the logs

Every page that fails points at a log. Which log it names depends on the layer that caught the failure:

LayerTypical locationYou are looking for
Web server/var/log/nginx/error.log, /var/log/apache2/error.log, or a host panel "Error Logs"The request path, the upstream name, the socket
PHPlogs/error.log in WordPress, or php-error.log configured in the panelThe fatal line with the file and function
ApplicationApp logger in wp-content, Laravel, or a plugin debug fileThe plugin/theme action that raised it

Read the entry

An error log line is dense but ordered. nginx:

[error] 10443#0: *57 upstream timed out (110: Connection timed out)
while reading response header from upstream,
client: 203.0.113.21, server: www.example.com, upstream: "fastcgi://unix:/var/run/php-fpm.sock"

Decode it right to left: the client IP is not the cause, the upstream is. The worker and socket name sit to the right of upstream:, so a socket failure names the PHP-FPM pool, not a PHP file. Now open the PHP log next to it.

A PHP entry:

PHP Fatal error:  Uncaught TypeError: implode(): Argument #1 ($pieces) must be of type array
in /home/user/public_html/wp-content/themes/theme/functions.php:212

The reading order for that one:

  1. Fatal error vs Warning vs Notice. Fatal kills the request; warnings rarely stop the page.
  2. The line names the file: functions.php:212 says the theme file at line 212.
  3. The message names the function argument problem. It does not say the theme is old; it says a plugin passes the wrong type to implode.

The log says more than errors

Work the entry

  1. Confirm the error is live: reload the page that failed and re-check the log for a fresh entry; stale entries run for minutes after a fix.
  2. Open the named file and the named function. Fix the input, not the output.
  3. Search the upstream name in the environment spec, not the public docs: the socket path is yours.
  4. After a change, tail the log and reload the page; one live line that turns from error to nothing is the proof.

Log hygiene

When to involve a professional

If the error log is healthy (no new lines) and the page still fails, the log was rotated, truncated, or written to a path you don't own (site load balancer, edge, or managed platform). Ask the host for the request log view; that is the layer the panel keeps for you.

Need a website built, fixed, optimised, migrated or replaced?

This technical resource is written by CSMBAC, a small design and development studio. If you would rather hand the problem to a professional, the website service page explains how we build enquiry-ready websites.

Explore website services