Frontpage of my site was displayed nicely but when I tried to login to the wp-admin, I got blank page. After loading other posts on my WordPress, half of posts were white pages while second half was just fine. Inside error_log wasn’t any recent message and from this point I started to search for the problem.
WordPress site had several active plugins and one of them was Hyper Cache. I read somewhere that turning off cache plugin should repair WordPress. The question was how to turn off (or disable) plugin if wp-admin is not accessible. As I had ssh access, renaming plugin directory was the easiest way:
> cd wp-content/plugins/ > mv hyper-cache hyper-cache_old
After directory name was changed, all pages (frontpage, posts, pages) on my site became blank, so I return plugin name to the original state. I realized that half of the posts were displayed thanks to Hyper Cache plugin. So the problem was not related to this plugin and Hyper Cache was actually reducing damage by displaying posts from the cache.
Next I read that increasing memory could help because PHP page is running out of memory. So I tried to add the following line to the wp-config.php file:
define('WP_MEMORY_LIMIT', '64M');
This was without any result. Increasing memory parameter didn’t help also. But, the following line in wp-config.php gives me an idea:
define('WP_DEBUG', false);
After setting WP_DEBUG to true, instead of blank page I got the following message:
Warning: mysql_connect() [function.mysql-connect]: User xyz has already more than 'max_user_connections' active connections in /home/xyz/public_html/wp-includes/wp-db.php on line 1036
So the problem was in communication between PHP and MySQL database. Although I was able to access MySQL via command line, PHP was not. Next step was sending email with error message to my hosting company and they fix the site.