Sign inBlogSupportContact
Tools

Catch PHP errors without touching wp-config.php

Toggle error capture on. Browse your site. See every warning, notice, and fatal right inside WordPress.

4 min read May 2026 debug mode

Something broke. Where's the error?

A plugin update broke the checkout page. A theme change caused a white screen on mobile. A client reports "something looks wrong" but the page loads fine in your browser.

PHP errors are happening on the frontend, but WordPress doesn't show them to you. To find them, you need to SSH into the server, edit wp-config.php, add WP_DEBUG constants, reload the page, read a raw log file, then remember to undo it all when you're done.

That's a lot of steps for "show me what's broken."

What most people do instead

Each approach has a catch that makes it harder than it should be.

Edit wp-config.php manuallyRequires FTP or hosting panel access. A typo in this file takes the entire site offline. Easy to forget to turn off.
Read debug.log on the serverNo formatting. No severity grouping. Grows indefinitely. Requires server access to read.
WP_DEBUG_DISPLAY = trueShows raw PHP errors to every visitor on the site. On production, this exposes file paths and internal logic.

A better way: toggle, browse, read

Open the navigator. Type debug mode. Hit enter. Debug capture is now on.

Browse your frontend pages. Come back and run the command again. Every PHP error, warning, notice, and deprecated call is listed inside the navigator, color-coded by severity, newest first.

TrueCommander
Debug active · 5 errors
WARNING3 entries
NOTICE1 entry
Function WP_Scripts::add was called incorrectly. T...1m ago
DEPRECATED1 entry
Download log

Your visitors never know. Errors are captured silently server-side. Nothing is printed to the page. No file paths exposed. No performance impact.

How it works

Three-step debugging loop, entirely from the admin.

1
Enable captureRun debug mode to start. PHP error handlers register on every frontend page load.
2
Browse your siteVisit any frontend page. Errors, warnings, notices, and deprecated calls are logged silently.
3
Read or export the logRun the command again to see results. Download the log as a text file to share with a developer.
DetailValue
Command namedebug mode
Enabledebug mode (toggles on)
Disabledebug mode -off
Clear logdebug mode -clear
Log capacity50 entries, 1-hour auto-expiry
CapturesFatal, Error, Warning, Notice, Deprecated
ScopeFrontend page loads only (not admin or AJAX)
Can be used in

Real example

A client updates their theme on a WooCommerce store. Everything looks fine on the homepage, but individual product pages take 4 seconds longer to load than before.

You open the navigator and run debug mode. Then you open a product page in another tab. Back in the admin, you run the command again.

Result: 3 errors captured. Two are DEPRECATED calls to get_page_by_title() in the theme's breadcrumb function. One is a WARNING from a missing product attribute the theme expects. The deprecated function triggers a fallback query on every product page. That's the 4-second penalty.

You fix the breadcrumb function, clear the log with debug mode -clear, reload the product page, and check again. Zero errors. Page load is back to normal. Total debugging time: 6 minutes.

Goes further with TrueCommander

Quick debugging from the admin. Combine it with other commands for a full diagnostic workflow.

Ready?

Find the error before your visitors do.

This is one of 91 commands. All included with every license.

Cookies. The short version.

Essential cookies keep the cart and theme working. Analytics only fire if you say yes. Read our policy.