Opaque White Screen Wordpress Migration Death

My problem was that after moving the website to another server using the backup assistant, I came across a white screen of death.

I turned on debugging mode in Wordpress and still no errors, just a white screen.

So, I tried deleting all the files and reloading them again and leaving the database as it is (the one that BackupBuddy imported), but it still gives me a white screen.

So, I tried to trace the specific line where the white screen appeared, and got stuck in strange behavior.

In / wp-content / plugins / woocommerce / widgets / widget-init.php:

include_once('widget-cart.php'); include_once('widget-featured_products.php'); include_once('widget-layered_nav.php'); include_once('widget-price_filter.php'); include_once('widget-product_categories.php'); include_once('widget-product_search.php'); include_once('widget-product_tag_cloud.php'); include_once('widget-recent_products.php'); include_once('widget-top_rated_products.php'); 
  • When I add "die (boom"); to "Include_once ('widget-price_filter.php');" = an arrow is printed.
  • When I add "die (boom"); after "Include_once ('widget-price_filter.php');" = the arrow is NOT printed from.

So, is it possible to say that the error is inside widget-price_filter.php correctly?

The problem is that when I add a stamp at the beginning of widget-price_filter.php, it does not print it. This is similar to the line where the error occurred, nowhere.

What could be the reason for this?

+4
source share
1 answer

So, is it possible to say that the error is inside widget-price_filter.php correctly?

Yes, completely (and you followed the correct debugging method).

The problem is that when I add a stamp at the beginning of widget-price_filter.php, it does not print it. This is similar to the line where the error occurred, nowhere.

If (as you say, you did), you added die('HELLO'); above (after <?php ), and it does not appear - this means that there is one of two problems

  • File not found.
  • Syntax error on this page.

You can solve one of three ways:

  • Check php error logs (if you have access)
  • Before you call include_one (in init.php), add:

     error_reporting(E_ALL); ini_set('display_errors', 'on'); 
  • Clear the code completely (just leaving <?php die('HELLO'); ?> , Check if this appears, and then add the code in half.

If you have route 2, be sure to take it when you have work. Very important!

+1 for the actual time to try to solve it yourself before publishing (with echo and death). So I hope this helps with the rest.

+5
source

Source: https://habr.com/ru/post/1434109/


All Articles