As odd as it may sound, the latest version of WordPress contains a deadly bug – the while screen of death as some developers call it. Unfortunately a client of mine was a victim of this new killer bug which is currently not fixable.
Why wordpress is showing blank screen?
In general WordPress as all PHP software is supposed to show parse errors instead of empty screens when an error occurs, unfortunately this is not the case. In our problem, wordpress uses the so called Output Object/Buffer Handlers where it can manipulate what is printed on the screen like the code below:
// start output buffering ob_start(); print("something"); print("more stuff"); // now clean the output buffer as nothing was ever printed on the screen ob_end_clean();
Many programmers find this extremely useful when debugging large and complex software, but in some cases, this can be a rather complicated bug for the inexperienced developers. Note that I’m not saying that “we” are not experienced, but that if you are not familiar with the details of the inner-workings of this software you may not be able to troubleshoot such errors as the one we currently have.
Files affected by this bug
I’ve noticed that the wp-config.php has been changed as the last ?> php was missing on the bottom of the file. If this is the case then just add it and your wordpress will work fine. Others reported a blank link on top of the wp-config file. If you remove this blank line and start with What is the cause of WordPress white screen of death?
Currently I have absolutely no clue, but I’m pretty sure that it has to do something with wrong regular expression changes inside the system core or even maybe potential security exploit. Based on my research I found that:
Replacing the wordpress system files from a new copy DOES NOT WORK.
Restoring Database of a Previous DB Dump DOES NOT WORK.
After I restored the whole account with full account Backup fixed the issue, but did not leave any clues on what may have been the problem.
What systems are vulnerable to this bug
Currently I know (almost for certain) that APACHE running with SuExec is the only system having this problem. Seems that this type of bug is closely associated with file/folder permissions which implies that the error is caused by file modifications.
How to fix?
As it may sound strange, but in our case I’ve added a newly created text file with the name php.ini with only one line of code inside “display_errors = 1” (no quotes) and it worked. Check it out yourself.
Download PHP.INI here and then upload it to your wordpress root folder.
Remember to remove .txt from the end of the file after you upload!!!!
Post if this works for you.