17

Quite a few times I have been in a position where the front-end of a Joomla website is a blank screen with no content, sometimes known as a "white screen of death".

This has occurred after a website has been moved and it has also occurred unexpectedly on a previously functioning website.

Assuming that there can be various different causes, what is an efficient way to troubleshoot and fix this issue?

13
  1. Change Error Reporting to Maximum

    • Login to admin area
    • Go to Global configuration -> server

    First you need to set the Error Reporting to Maximum

  2. Edit Files in FTP

    • Login to your Joomla site files via FTP.

    • Find your index.php file located in the root of your site.

    • Open the index.php and add this code directly after the very first line of the file:

      ini_set('display_errors', TRUE); error_reporting(E_ALL); 
      
  3. Edit PHP.ini file

    In PHP.ini file you need to change these two settings:

    • Set Display error to On: display_errors = On

    • Set error reporting: error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

  4. Check Your Server Log

    Finally you get an error log with the error message showing the Error path & error reason

Reference : http://www.ostraining.com/blog/joomla/white-screen-of-death/

  • 2
    As well as the above, I would recommend installing and turning on firebug console in your browser. Once done revisit the White Screen of Death. You'll be surprised at what you find sometimes. – TryHarder Apr 26 '14 at 6:35
  • 1
    Another thing, I usually find that the White Screen of Death has something to do with the .htaccess file. – TryHarder Apr 26 '14 at 6:38
  • 1
    On rare occasions, it can be because the file being loaded is using a defined('FOO') or die(); line but FOO is not defined. – Andrew Eddie Apr 27 '14 at 23:31
10

These other answers will probably lead you to the answer, however one thing I noticed as a minor problem is some plugins set up error_reporting on there own and that can override Joomla's Error reporting, so another way to fix this is to disable extensions one at a time until the site loads, plugins being the main offender.

Manually check other pages, does it load? If it does its a module or component only loaded on the front page, helping you isolate it. Also updating your extensions is a good idea too, if it worked before perhaps your environment was PHP 5.2 and when you moved to 5.3 or 5.4 there was a major error being through by the differences.

Typically an update to an extension can fix that, as long as its actively maintained. Though in some cases it could be your template.

  • 1
    I do also do this the opposite way and turn off all extensions and then turn them on one by one until the site breaks. Same idea. – David Fritsch Apr 25 '14 at 19:28
  • 1
    Sometimes turning them all off at once can lead to a break on its own. Not always but it happened once, so one at a time was our solution. – Jordan Ramstad Apr 25 '14 at 19:32
6

In those cases just turn on the Joomla Error reporting to the maximum as shown below. enter image description here Once the error reporting is active try reloading the webpage. It will now show you some error sentences. Actually you have just found the first information that needs to be debugged to get the error resolved enter image description here

More basic debugging tip can be found in this blog : http://www.readybytes.net/blog/item/a-beginners-guide-to-start-debugging-joomla.html

1

If you have SEF URLs turned on and you are using Joomla!'s .htaccess file make sure that mod_rewrite is enabled on the server.

In many cases, the .htaccess file is the culprit, so assuming mod_rewrite is enabled, I'd recommend backing up the .htaccess file and then deleting the original(or renaming it), to see if that makes a difference.

I'd also recommend installing and running firebug console in your browser. It often reveals hints that you can use to track down the problem (this is true of many different problems).

1

It seems that no one has mentioned disabling output buffering - so I'll mention it here...

Output buffering is very nasty for debugging, and even if you set your error reporting to maximum and add the php.ini entries, it still won't work (you still won't see the errors). This can be disabled by just adding output_buffering = off to the .htaccess file as mentioned here (note that this may not work in all environments).

Additionally, another issue causing a blank page is that the host itself might have disabled error reporting on his end - in that case, the host must be contacted as many hosts do not allow overrides of their own settings.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.