Errors: read, reproduce, fix

Show errors locally

Enable error display only on a local machine. Set display_errors to 1 and error_reporting to E_ALL.

You will see warnings and notices right in the output.

ini_set("display_errors", "1"); error_reporting(E_ALL); echo "Errors are visible";

Log instead of display

Disable display on production and write to a log instead. Set display_errors to 0 and log_errors to 1.

Inspect the log file after each request to find hidden issues.

ini_set("display_errors", "0"); ini_set("log_errors", "1"); error_log("Something went wrong");

try and catch

Wrap risky calls in a try block. List each failure type in its own catch block.

The program continues after catch instead of stopping.

try { throw new RuntimeException("Demo failure"); } catch (RuntimeException $e) { echo $e->getMessage(); }

Real cases from this site

Real projects fail on bad JSON, missing files and wrong types.

Study the collection PHP errors: case studies for step by step fixes. Reproduce each case locally before changing code.

try { $result = json_decode("{broken}", true, 512, JSON_THROW_ON_ERROR); } catch (JsonException $e) { echo $e->getMessage(); }

Next: Classes and objects

Автор статьи: Arthur Isaev