The critical-error screen does not reveal the root cause; it only means WordPress caught a PHP error that stopped execution. Correct recovery matches the request timestamp to the file and line in debug.log or PHP-FPM/Apache logs, then rolls back, updates or disables only the failing component.
wp core version
php -v
wp plugin status
wp theme status
tail -n 120 wp-content/debug.log
wp core verify-checksumsWordPress's fatal-error handler can be triggered by plugin or theme code, incompatible PHP, exhausted memory, missing classes/functions, corrupted core files or custom code. Instead of the generic screen, use the latest fatal record beginning with `Uncaught Error`, `Allowed memory size exhausted`, `Parse error` or `TypeError`, including its file path and line number.
The administrator email link may pause the faulty plugin or theme for that session and restore dashboard access. If it is missing, check mail delivery and the administrator address.
WordPress logs show application context, while PHP-FPM, Apache or LiteSpeed logs can reveal failures before WordPress starts. Compare the same time window.
If the logged path points to plugins, themes, mu-plugins or a custom snippet directory, act on that component first.
This establishes compatibility context when the issue began after an update or PHP change. If WP-CLI cannot bootstrap WordPress, `--skip-plugins --skip-themes` may help.
wp core version
php -v
wp --infoLog to `wp-content/debug.log` without exposing details to visitors. Add constants before WordPress's stop-editing line and review them after diagnosis.
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);Reproduce the error, then immediately inspect WordPress and server logs. Record path, line, error class and the start of the stack trace.
tail -n 160 wp-content/debug.log
tail -n 160 /var/log/php-fpm/error.log
tail -n 160 /usr/local/apache/logs/error_logChecksum verification compares core files with WordPress.org values; it does not validate custom wp-content files. Locale and version must match the installation.
wp core verify-checksums
wp core verify-checksums --include-rootProtect the database, wp-content and wp-config.php as one backup set. Store it outside the web root and keep the last working code or deployment package when possible.
The recovery link may identify the failing extension. Use that as evidence and record version, change time and error details before deleting anything.
Determine whether the path belongs to a plugin, active theme, mu-plugin, custom snippet, WordPress core or vendor package. If unclear, inspect the first project file in the stack trace.
If WP-CLI works, deactivate the specific plugin by slug. Without admin or WP-CLI access, temporarily rename only the folder identified in the log. Disabling everything should be a last resort.
Check support matrices for PHP, plugin/theme and WordPress versions. Roll back the last update, update to a supported version or fix custom code in staging before redeploying.
After clearing relevant caches, re-test the failing URL, wp-admin login, form/payment/AJAX flow and cron. Confirm no new fatal record is created.
Restore debug settings according to policy, restrict log access and document root cause, change, rollback point and test results.
The request exhausted PHP memory. Do not only raise the limit; identify the plugin, query or operation causing growth using logs or profiling.
Possible causes include missing files, wrong load order, failed Composer autoload, partial update or incompatible versions. Check the first project file in the trace and deployment integrity.
A PHP syntax error exists, often from a recent manual edit or incomplete deployment. Run `php -l` on the file and compare it with the working version.
The supplied value does not match the expected type. Review the version change, hook parameters and stricter type behavior in the active PHP version.
WordPress displays it after catching a PHP fatal error. The cause may be a plugin, theme, custom code, memory, version mismatch or damaged file; logs are required to distinguish them.
Check the administrator address, SMTP/local delivery and spam. Diagnosis can still continue through FTP/SSH, WP-CLI and PHP logs; Recovery Mode is not the only method.
It may be used for controlled comparison when logs do not identify a component, but it can disable payments, security, cache or membership. Review the fatal record and recent changes first.
Only when memory exhaustion is the actual failure. Growing consumption, loops, heavy queries or faulty plugins still require a root-cause fix.
It can be safe with the correct WordPress version and locale while protecting wp-content and wp-config.php. Verify corruption with checksums and back up first.
Contact Eka Software and Information Systems for installation, server, script and technical support services.