Where is my WP error log, and what does it say?

Your error log is where WP writes what went wrong. Find it by hand first. Then add the free plugin: its chat reads it for you, and reading changes nothing.

Find your error log now

  1. Look in your host's control panel first. Many hosts show the error log there, under a name like Logs or Error log.
  2. Nothing there? Open your site's main folder in your host's file manager. Look for a file named error_log there, or in wp-admin.
  3. Open wp-config.php in that same folder. Find define( 'WP_DEBUG', false ); and change false to true, or add it above “That's all, stop editing!”.
  4. Below it, add define( 'WP_DEBUG_LOG', true ); and define( 'WP_DEBUG_DISPLAY', false ); on their own lines. The second keeps errors off your pages.
  5. Reload the page that's wrong, then open wp-content/debug.log. The newest lines are at the bottom. Set WP_DEBUG back to false when you're done.

These steps work without CMSHands. If the log names a plugin or theme folder, that's where to start.

A person approves every repair. Install it before anything breaks.

Install it before it breaks

Needs WP 6.3 to 7.1 and PHP 8.0 or newer. What it installs

Needs WP 6.3 to 7.1, PHP 8.0 or newer, and an administrator login. One site per install.

The download is a plugin. Turning it on connects your site to cmshands.com and adds 3 small rescue files. Deleting the plugin removes them and everything it stored. What we send

Plugins are installed from a computer. Get the plugin here instead

  • No account, no password to share

What it means

A WP error log is a text file where PHP, the language WP runs on, writes a line each time something goes wrong on your site.

  • A plugin or theme reads a setting or value that isn't there. PHP writes a warning, and the page still loads.
  • A plugin or theme crashes. The line says “PHP Fatal error”, and the page stops loading.
  • A plugin uses something WP or PHP plans to drop. The line says “Deprecated”: a heads-up before a future update.
  • Your host moved your site to a newer PHP, and older code no longer fits it.
  • Your site runs out of memory. The line says “Allowed memory size … exhausted”.
  • A plugin can't find a file or folder, often after a move to a new host. The line says “Failed to open stream”.
  • Your database refuses a request. The line starts with “WordPress database error”.

Read a line from the log

Each line starts with a date and time. Then come the level, the message, and the file and line number where it happened. The time is often in UTC, not your own time zone.

The file path tells you who wrote it. The folder after wp-content/plugins/ is the plugin. After wp-content/themes/, it's your theme.

A path in wp-includes or wp-admin is WP's own code. The cause is often a plugin calling it the wrong way, so read the message for a plugin's name.

What the levels mean

“PHP Fatal error” means the page stopped. It's the line behind a blank white page or “There has been a critical error on this website.” Start with these.

“PHP Warning” means PHP found something missing and carried on. The page still loads. “PHP Notice” and “PHP Deprecated” are smaller: a heads-up that a future update may break something.

Many lines that say the same thing usually come from one cause, written each time a page opens. Fix that one cause, and they all stop.

Find the line that matters

Note when your problem happened, then look for lines from that minute. Start with the newest, at the bottom of the file. Older lines that kept repeating while your site worked are rarely the cause.

Fix it by cause

A fatal error

Switch off the plugin the line names. In Plugins › Installed Plugins, press Deactivate under it. Can't open your dashboard, the screens you log in to at yoursite.com/wp-admin? In your host's file manager, or over SFTP (a way to copy files to and from your host), add -off to its folder name in wp-content/plugins.

If the path is in your theme, activate a default theme, such as Twenty Twenty-Five, in Appearance › Themes. Our page on the critical error message walks through the rest.

A warning or notice

Update the plugin it names first. Many warnings go away in a newer version. If it stays, tell the plugin's author in its support forum on wordpress.org, and paste the line.

A warning doesn't need a fix today if the page works. Make sure it isn't printed on your pages: keep WP_DEBUG_DISPLAY set to false on a live site.

Deprecated lines

These say a plugin or theme uses something WP or PHP plans to drop. Check that it's still looked after: its wordpress.org page shows Last updated and Tested up to. Update it, or find one that still gets updates.

Lines after a PHP change

PHP is the language WP runs on; your host sets its version. Yours is in Tools › Site Health, on the Info tab under Server. If errors began when it changed, update the plugin named, or ask your host to go back to the version that worked.

Out of memory

A line with “Allowed memory size … exhausted” means PHP ran out of the memory your site may use. Ask your host to raise it, or add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php. Your host may cap it lower.

Database errors

Lines that start with “WordPress database error” come from your database. If one says a table “is marked as crashed”, WP can repair it.

Add define( 'WP_ALLOW_REPAIR', true ); to wp-config.php, then open yoursite.com/wp-admin/maint/repair.php. Take the line out after: anyone can open that page while it's on.

Keep the log useful

Turn debug mode off when you're done by setting WP_DEBUG back to false. A log left on keeps growing. On many hosts, anyone who types the address of wp-content/debug.log can read it.

Want to keep it on? Give WP_DEBUG_LOG a file path outside your public folder instead of true. Your host can tell you which folder that is.

Deleting debug.log is safe. WP starts a new one the next time it writes an error. Update or add one plugin at a time, then check the log: new lines point to the last change.

Have the chat read it

With CMSHands on your site, ask the chat “What errors is my site logging?” It reads your PHP error log and says what each line means. Asking changes nothing on your site.

We tried it on our test site, a WP site we run to try every task before we write about it. On Oct 14, 2026, we asked: “What errors is my site logging, and are they hurting visitors?”

It read the log and loaded the home page the way a visitor would. It found 3 lines, all one PHP warning: “Undefined array key gift_wrap”. They came from Cart Gift Note, a small plugin we wrote so the log had something in it.

It said the warning is written each time someone opens the Cart page, and it isn't hurting visitors: the page still loads. It offered to suggest switching that plugin off. We didn't ask it to, so nothing changed.

If your site crashes, the log is where it starts. On a site that had CMSHands before it broke, it reads your error log and settings to find the cause. A person at CMSHands approves any repair before it runs; we've tried this on our test sites, and hosts differ.

Next time

With CMSHands on your site, ask the chat what your error log says. After a crash, it reads the log for the cause; a person approves any repair.
  • Ask “What errors is my site logging?” and it reads your PHP error log and says what each line means.
  • On a site that had CMSHands before it broke, it reads your error log and settings to find the cause.
  • We prepare the fix; a person at CMSHands approves it before it runs. Tried on our test sites; hosts differ.
More it does here (2)
  • It checks your site once a day on the free plan, and at once when a crash is reported.
  • Once your site loads, the chat says in plain English what happened. Email needs your address.

Why it won't wreck your site

  • Asking changes nothing. A question only reads your site. It looks things up and tells you. No card, no button.
  • A person checks every repair. When your site is down you can't reach the chat, so a person at CMSHands approves the fix before it runs.
  • It checks your pages after the fix. It loads your home page, login, dashboard and a post again before it calls the repair done.

What it won't do here

  • It can't be installed into a site that is already down.A plugin can't be added to a dashboard that won't load. Find your log with the steps above, then install it.
  • A person approves every repairNothing in a repair runs until a person at CMSHands has checked it. It doesn't repair your site on its own.
  • It can't fix your host or change your PHP versionHost-level problems, like your PHP version or a server that's down, are for your host. It can tell you what the log says about them.

Questions

Where is the WordPress error log?

Many hosts show it in their control panel, under a name like Logs. If WP_DEBUG_LOG is on, WP writes to wp-content/debug.log instead. Some hosts leave a file named error_log in your site's main folder. To see whether WP_DEBUG_LOG is on, open Tools › Site Health, then the Info tab, then WordPress Constants.

How do I turn on the WordPress debug log?

Open wp-config.php in your host's file manager or over SFTP. Change define( 'WP_DEBUG', false ); to true. Below it, add define( 'WP_DEBUG_LOG', true ); and define( 'WP_DEBUG_DISPLAY', false ); on their own lines. Errors then go to wp-content/debug.log, not onto your pages. Set WP_DEBUG back to false when you're done.

What is WP_DEBUG in WordPress?

It's a setting in wp-config.php that turns on WP's debug mode. It's off by default. With it on, PHP reports warnings and notices as well as errors. On a live site, pair it with WP_DEBUG_LOG to write them to a file, and set WP_DEBUG_DISPLAY to false so visitors don't see them.

Is a PHP warning in my error log hurting my site?

Usually not. A warning means PHP noticed something missing and carried on, so the page still loads. A fatal error is different: the page stops there. A warning matters if it shows on your pages, or repeats so often the log grows large. Update the plugin it names first.

Is there a WordPress debug log plugin?

Yes. Several plugins in the WP plugin directory show debug.log in your dashboard, the screens you log in to at yoursite.com/wp-admin. CMSHands works differently: you ask its chat what the log says, and it explains each line. It can't be installed into a site that is already down.

Can I delete debug.log?

Yes. Deleting it doesn't change how your site runs. If WP_DEBUG_LOG is still on, WP starts a new file the next time it writes an error. Download the old one first if you want to keep it for your host or a plugin's author.

Written by CMSHands team.

Be ready for the next one

  • A person approves every repair
  • No account, no password to share
Install it before it breaks