Is your new WordPress 2.6 install giving you a blank white screen? Here’s how to fix it.

5:03 pm Blog Meta, ECMA / Javascript, Miscellaneous, Word Press

The most common cause of a blank screen at any stage in the process, if your source view shows empty, is that PHP aborted during its run without dumping buffers.  During software upgrades, this is usually due to one of three reasons:

  1. An incomplete transfer of the requisite files.  Don’t insist that you’re certain that didn’t happen, even if it’s from a command like svn or cp that shouldn’t fail; you’re not certain until you’ve checked.
  2. PHP has run out of some resource, typically RAM.
  3. mod_security is set up brokenly

[digg-reddit-me]In both cases, you can figure out which by checking your apache logs.  On windows, go to the Windows Event Viewer.  On unix, this may live in a variety of places; most common is shared hosting by cpanel/plesk, where you can get it in your control panel, or to just look in /var/logs/ .

If it’s #1, you’re likely to see something like this in logs (this is from my site, which just suffered this problem and was quickly fixed) :

[Tue Jul 15 18:45:28 2008] [error] [client 24.117...]
PHP Fatal error:  Call to undefined function
force_ssl_admin() in /var/www/html/wp-settings.php on
line 390, referer: http://.../wp-admin/post.php?action=edit&post=55

Don’t worry if that undefined function has a different name or a different referrer, or whatever; that’s how you track down missing code, and missing code means some file didn’t get updated.

46 Responses

  1. Alex Berger Says:

    Thanks for the advice and help. Back up and running =)

  2. Davey Leslie Says:

    Whew! Thanks, kindly stranger!

  3. Несколько слов об обновлении до WordPress 2.6 : Статья : Уроки WordPress Says:

    [...] 2.6 вообще не устанавливать. Но также нашлись и решения, например, тут. Все оказалось очень просто. Из тех трудностей, с [...]

  4. Velvet Blues Web Design Says:

    One other possibility is the erasure of any theme files.

  5. GregK Says:

    How do you check #3? And is this a new issue with WordPress 2.6?

  6. John Haugeland Says:

    GregK: turn mod_security off and reboot the server. If the problem goes away, it’s mod_security.

    And, no, WordPress 2.6 doesn’t create the mod_security problem, so if your server hasn’t been reconfigured lately, it’s probably not #3. Check anyway, just for the sake of paranoia of course.

  7. P.Preman Says:

    Its a simple issue dear friends.

    1. The URL that you get is /instal.php?step=2
    2. Notice that the URL is suppose to read as /wp-admin/install.php
    3. To resolve this issue, just type the full URL such as http://www.domainname.com/wordpressfolder/wp-admin/install.php
    4. This should solve the problem.

    Thank you.

  8. John Haugeland Says:

    P. Preman: as far as I can tell, that would only be the problem if you were running a modified .htaccess, if you had an overriding rewrite set, or if you were dealing with moving an old blog with incorrect base path settings.

  9. Wilhelmina Says:

    hmm, what about the images not appearing anywhere at all, anywhere meaning not on any themes and not in the admin panel as well

  10. John Haugeland Says:

    Well, I looked at your site and it appears to be fixed. I’m guessing you probably had a mod_rewrite problem or an incorrect custom theme path; when all the images go away at once, that usually means a directory has moved, isn’t where it expects to be, or is being redirected to a wrong place.

  11. Waqas Says:

    Any idea wat this error means? and how to fix it?

    [client 75.126.49.144] WordPress database error Table ‘nshockpill.wp_options’ doesn’t exist for query SELECT option_value FROM wp_options WHERE option_name = ‘siteurl’

  12. John Haugeland Says:

    It means the table that’s supposed to be storing your word press configuration is missing entirely. This suggests restoration from a damaged backup, or the need for an SQL repair pass.

    http://dev.mysql.com/doc/refman/5.0/en/repair.html

  13. Waqas Says:

    Thanks for the quick reply, I tried repairing the tables using phpmyadmin by reading instructions from http://paulstamatiou.com/2006/05/31/how-to-quickie-repair-mysql-tables-in-phpmyadmin and all the tables shows ok status. and the problem still persist. Do u think that i have to use different methodology to repair tables?

  14. John Haugeland Says:

    The repair suggestion was to deal with other problems that might remain. You can’t repair a missing table. You need to restore from backups.

  15. Waqas Says:

    Thanks for all your support, The problem is fixed now …

  16. Leanne Says:

    Hello I found you on google, I just installed 2.6 and I get blank pages only when commenting logged in as an admin. As far as I tested, anonymous users can comment. I’m aware that mod_security is enabled on my server but I have no control over it, could it be related to that?
    There is nothing out of the ordinary in any of my logs. No luck on the WP forums.
    I’m completely new to wordpress and I’d be so pleased if someone could help with this. Thanks!

  17. Leanne Says:

    Oops, sorry. The url I entered as my website in my previous message wouldn’t provide much information. I’ve updated it to my blog now.
    Sorry for a double post =P

  18. ken Says:

    how bout WP 2.3.1?
    i got blank login screen suddenly since yesterday.
    any ideas?

  19. John Haugeland Says:

    Leanne: It’s probably still a partial upload. Re-upload your files. The germane issue is that the whitescreen occurs when PHP has to abort, and one of the common causes of said abort is that a file is missing or partial.

    Mod_security should not be the problem unless you’re posting URLs. You can disable it in .htaccess to be certain, but I doubt it’s your issue.

  20. John Haugeland Says:

    Ken: that won’t just happen at random. If you didn’t alter the install in any way, then one of the pieces of infrastructure (most likely PHP) was updated.

    Still, you shouldn’t be running 2.3.*; it’s got security issues. Move on to 2.6.

  21. Cellobella Says:

    Hi John,
    I upgraded to 2.6.2 and got the white screen thing. So I reinstalled 2.6.1 and all the plug-ins.

    Still a snowfield.

    I’m wondering what your advice would be.

    Should I – delete everything and start again?

    Or do you think it is more likely to be something to do with the database?

    Or something with the plugins?

    S

  22. John Haugeland Says:

    Start by installing the latest stable WordPress with no plugins and using the default theme. Then clear your browser cache and cookies, and if you’re using IE, restart the browser. At that point, you should be able to go to your /wp-admin/ page.

    If you hadn’t had a chance to update your db schema, do it at that point. Then, look at your site. It should be running. Start by re-enabling your theme, then look at your site. Then, one by one, reinstall each of your plugins, checking the site between each one.

    That way, you should be able to weed out what’s broken, and you’ll be able to look into notifying its author, looking for upgrades, and possibly replacing it if you have no choice.

  23. ramir Says:

    Hi John,

    Hope you can help me. I guess I messed up with the upgrade of WP and when I tried to reinstall the whole thing including the database, I still ended up with the white screen with these characters:

    (none) 122.52.37.211 /press/www…./ Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 500

    Will appreciate if you could enlighten me. Thanks!

  24. John Haugeland Says:

    Your webserver appears to be dumping the http client string. That usually means that something’s deeply broken, such as a failing installation of PHP.

    Do you have other PHP applications on that server which are still running correctly?

    Unfortunately, this isn’t enough context for a diagnosis. I am contacting you privately by the email address you left with the comment, because I would need to see information that you apparently don’t want to leave in public to give meaningful help here.

  25. ramir Says:

    Hi John,

    Thank you so much for your private response, I appreciate it. I solved the problem already using SSH to set the permissions.

    The ’500′ figure in the http string I posted indicates ‘Internal Server Error’. I dont know exactly what happened with the permissions when I upgraded to WordPress 2.6 but that’s what happened, the blog index displayed those strings. Using SSH with the CHMOD function, I set the permission for the blog folder to 755 (command is: chmod -R 755 blogfolder). After this, the strings disappeared and the blog went up and running again.

    Now Im just fine-tuning the blog and will surely check out your blog to find helpful links when I encounter such trouble again. Im still a WordPress newbie so I expect a lot of rough sailing ahead.

    Thank you so much!

  26. John Haugeland Says:

    I confess I’m quite surprised to see a webserver dumping client string on 500, but awesome that you got this fixed.

  27. ramir Says:

    Thanks for the reply. I have some basic knowledge of SSH and encountered permission problems before on another website. When I saw the 500 error on the string, I knew it’s a folder permission issue.

    Actually, I should have mentioned that the reason I upgraded the blog is because of the security problems I found in the WordPress codes. There were adware/malware injected scripts and URLs of different, obviously spam websites in the header and footer.php files. So there must be some security loopholes with the host server, right? Also, the website is using a huge amount of bandwidth presumably coming from the malicious scripts.

    What should we do to address this problem? Im afraid that even if I already upgraded to the latest WP, the site would still be vulnerable. Your advice wil be greatly appreciated. Thanks!

  28. Nitin Says:

    I also experienced this wordpress error and referred to your article and got it fixed in the end.

    Read my story here
    http://blog.nitinkumarjain.in/?p=143

  29. Lorna Says:

    Like everyone else, I thought I have uploaded everything. Tried for almost an hour uploading and re-uploading my compat.php file. In fact, my wp-contents folder wasn’t even uploaded properly! Thanks for bringing that up, I really wouldn’t have thought that missing themes could be the culprit!

  30. John Haugeland Says:

    No problem. :)

    Generally, it’s because one half-uploaded file stops in the middle, and PHP kills itself when it realizes there’s missing code. Since WordPress uses code as themes, to keep things flexible, this means that themes can cause incomplete code halts.

  31. jaka Says:

    Thanks for the info. I used my MAC with crappy FilleZilla and got the same error. After I was read your post I uploaded all wp content one more time and now everything is OK.

  32. Taha Says:

    i have done a complete reinstall. but still see a blank white page with no errors.

  33. John Haugeland Says:

    Your next step is to check your PHP error log (or, equivalently, to turn error_reporting on in your php.ini, then restart the webserver). Those error logs are available from cPanel or Plesk; if you’re running your own server, they’re in the same place as your apache logs.

    The PHP error log should tell you why it’s aborting. Common causes include that PHP believes the directory your blog is in to be off limits, that some security setting like including other files is being violated, that an extension PHP is trying to load is corrupted, et cetera.

    Are other PHP applications working on this site? If you don’t have any, just type this into foo.php in the same directory as your blog, then open http://yourblog/foo.php :

    If you see a big purple table of semi-cryptic settings, you got the right thing, and PHP is otherwise working.

    Let me know how that plays out and I’ll try to help you out.

  34. John Haugeland Says:

    My blog stripped the code I tried to give you. Lemme see if it works as entities:

    <?php phpinfo(); ?>

  35. Directory Says:

    I have the same problem with blank page. In my case the memory_limit in php.ini was the case. I increase it from 16Mb (default value i think) to 32Mb and after that login works without problems.

  36. Whiate Page of Death: Wordpress PHP Problem Solving Says:

    [...] White Screen of Hell’s Revenge After software upgrade [...]

  37. White Page of Death: Wordpress PHP Problem Solving | rapid-DEV.net Says:

    [...] White Screen of Hell’s Revenge After software upgrade [...]

  38. Hans Says:

    I’m trying to solve this problem for two hours now. Happened on an upgrade to 2.8.

  39. John Haugeland Says:

    Your website isn’t dumping any output at all. That means one of a few things:

    1) It’s hitting some aborting error, and your webserver is configured to be paranoid and to not say anything in those situations (which is a good thing). In those cases, look at your webserver logs (if you’re on a cPanel/Plesk site, you can get to them from your control panel; otherwise use locate to find httpd.log or apache.log most commonly) to get an idea of what’s wrong.

    1a) Common causes are missing modules such as gd or mysql, wrong directory permissions, etc.

    2) You’re running out of RAM. This isn’t so common with word press; WP isn’t an insanely hungry app. Even so, just try pumping your allocation limit up (remember to restart your webserver to make the change take effect) to see if it changes things.

    3) One of your plugins or your theme don’t like the new Word Press. Briefly, turn all your plugins off, and set your theme back to default, just to test. (If the control panel also won’t come up, it’s probably not this, but still testable: add a ‘Z’ onto the end of the wp-plugins and wp-themes’ directories’ names. It won’t break anything, though it’ll look awful briefly.)

    4) You have a partially uploaded file. This most commonly happens when you’re trying to work over modest quality wireless, but some shared webhosts so badly overburden their servers (cough M2O cough) that FTP connections are occasionally just dropped. If neither #1, #2 nor #3 turn up success, try re-uploading everything, just for the sake of it.

    If none of those four help, c’mon back, and we’ll keep going from there.

  40. Sebastian Says:

    Thank you for the hints in this post. :)

  41. John Haugeland Says:

    No problem.

  42. Ari Says:

    Hello guys,

    I can see that the post has been created some time ago but I hope that one of you would be kind enough to help me.

    I have this very problem actually. I am trying to set up wordpress (WordPress 2.9.2) locally thanks to easyphp (EasyPHP 5.3.1). I m running on Vista. The process stops here http://127.0.0.1/wp-admin/setup-config.php?step=2 and the page is blank. I am not a professional. But I hope that I could fix that by myself.

    Any idea ? Thanks a lot.

    Ari
    Do you have any advice ?

  43. John Haugeland Says:

    I apologize that it took me more than a month to reply; the inbound mail went to my spam folder, so I didn’t notice the comment.

    I do hope you’ve already gotten help, but for other people who might stumble across this, here’s what to do.

    1) Put up a .htaccess that blocks access from any IP other than yours
    2) Turn on PHP error reporting to E_ALL | E_NOTICE
    3) Take a look at the errors that get mentioned. They’ll very likely tell you what’s wrong.
    4) Set error reporting back to what it used to be
    5) Take the restriction out of your .htaccess

    On the chance that you’re trying again with the recent 3.0 release and getting the same problem, lemme know; I’ll be watching more carefully for a week.

    Sorry I missed you. :(

    – John

  44. Zahid Says:

    Great advise. Thanks a million. Loved “you’re not certain until you’ve checked.”

  45. LW Says:

    Hi John I keep getting a plain white page and I have been trying to solve this problem for over two (2) hours now. Please help I am really getting frustrated.

  46. John Haugeland Says:

    New install or upgrade?

Leave a Comment

Your comment

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.