Skip to content

wp_php_fatal

Severity: Critical Signal: php.fatal — PHP fatal error detected at shutdown

What this signal means

A PHP fatal error occurred during a request. Fatal errors halt execution immediately, meaning the page that triggered this error returned an incomplete or blank response to the visitor.

What surprise this prevents

Visitors receiving a blank page or error screen with no explanation — and you learning about it from a complaint rather than an alert.

Why it matters

Fatal errors are site-breaking. Visitors hit a blank page or WordPress error screen. If the error is in a commonly-executed code path (e.g. every page load), the site is effectively down.

Investigate

View entity alerts in Logystera →

Check the alert payload for:

  • payload.message — the error description.
  • payload.file — which file contains the error? Plugin, theme, or core?
  • payload.line — exact line number.
  • payload.sourceplugin, theme, core, or unknown.
  • payload.fingerprint — use this to correlate recurring instances of the same error.

Identify the source first:

  • source: plugin → a plugin is causing the error.
  • source: theme → your active theme or child theme is the culprit.
  • source: core → WordPress core file (rare — usually means corrupted core files).

Resolve:

  1. Enable WP_DEBUG to see the full error (if not already visible): php define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );

  2. If caused by a plugin:

  3. Deactivate the plugin via WP Admin → Plugins.
  4. If you cannot access WP Admin (fatal on every load), rename the plugin folder via FTP/SSH: bash mv wp-content/plugins/broken-plugin wp-content/plugins/broken-plugin-disabled
  5. Update the plugin to the latest version, or replace with an alternative.

  6. If caused by a theme:

  7. Switch to a default WordPress theme (Twenty Twenty-Four) via WP Admin → Appearance → Themes.
  8. If you cannot access WP Admin, edit wp-config.php: php define( 'WP_DEFAULT_THEME', 'twentytwentyfour' );

  9. If the error is Call to undefined function — a required plugin dependency is missing or deactivated.

  10. If the error is Allowed memory size exhausted — increase PHP memory limit: php define( 'WP_MEMORY_LIMIT', '256M' );

When to safely ignore

If the fatal occurred on a development or staging environment and the site has since recovered, no immediate action is required on production.

A single isolated fatal on a low-traffic path (e.g., an admin page visited rarely) may be acceptable to defer if the error is already known and a fix is in progress.

Signal reference

{
  "event_type": "php.fatal",
  "payload": {
    "type": "E_ERROR",
    "message": "Call to undefined function wc_get_order()",
    "file": "/var/www/html/wp-content/plugins/my-plugin/class.php",
    "line": 88,
    "fingerprint": "b2c3d4e5",
    "source": "plugin"
  }
}