A blank white screen displayed on a Joomla website can be very disturbing but it is not an insurmountable situation. It is actually a Joomla security situation where the error is suppressed instead of being displayed. It is technically referred to a White Screen of Death, WSOD.
The Joomla white screen of death(WSOD) is actually a Joomla security situation where a Joomla website returns a blank page with no error showing. This is usually a database or PHP error on the website. The white screen sometimes happen when you do a major migration of your Joomla website, you run a version update on your Joomla website, you install a new extension or you update an extension that turns to be incompatible or faulty, and then you refresh your website and all you see is a blank white page - the White Screen of Death. But the good news is that the WSOD problem can be addressed.
Major causes of the Joomla blank page and Recommended Fixes
Let’s now have a check on few reasons that cause the Joomla blank page after migration and their respective fixes.
1. Incorrect PHP settings
From our experience, a blank page in Joomla occurs mainly due to incorrect PHP settings. This is common after a website migration. Because different servers will have different PHP configurations, the PHP configurations may not be alike in both the source and destination servers. As Joomla relies much on the PHP configuration, it ends up in a blank page.
The best approach here is to make PHP settings similar to the destination server. Setting the PHP error reporting in configuration to the maximum and changing the display errors in the php.ini file can help to resolve the Joomla blank page error.
2. Corrupted Joomla core files
Major Joomla files include administrator, components, cache, etc. During file uploads and in the cause of website management, files can go corrupt and the corruption of these core files can lead to Joomla blank pages. Usually, this can be avoided either by upgrading the Joomla version or by restoring a backup.
3. Changes in the server directory structure
During migration, it is essential to transfer the website files and databases from the source to the destination server. Different servers will have different directory structures.
For instance in Plesk servers, the website root folder will be at /var/www/vhosts/domain/httpdocs
Similarly, in cPanel it is at /home/username/public_html.
So it is always important to make sure that files and folders have a correct directory tree. This will avoid the blank page occurrence.
4. Incorrect rules in .htaccess file
Many Joomla website admins use rewrite rules to tweak the look and feel of the site.
Often incorrect rules in .htaccess file can also cause Joomla blank page.
In cases where .htaccess create problems, you can copy and paste default htaccess code to correct the rules.
5. Faulty extension
Last, and not least, faulty Joomla extensions can also lead to Joomla blank page. Here, the real task involves finding the exact extension that creates problems.
Usually, error log clearly pinpoints the faulty extension. Disabling the problem extension bring the website back online
The immediate solution will be to use the MultiPHP Manager in cPanel to reset your PHP version. In most cases, this address the problem where server managers have upgraded their servers and set newer version of PHP to run as default version.
7. There is a theme that is causing a conflict with the Joomla site
The solution is to update the theme to run the most recent and compatible version.
Joomla might simplify the white screen with those possible issues, but the process of fixing the issue is not always quick and straightforward. Here we make it clear how you can troubleshoot the white screen of death in Joomla whenever it happens. You will also learn how to minimize the risk of this problem happening again.
Usually, website owners do not prefer to display errors on the screen. It is the error reporting feature that decides on the type of errors that should show up on a website. Therefore, they set the error reporting in the Joomla configuration to a minimum or none. As a result, the error will be suppressed and what we see is a blank page without any error message displayed on it.
We have had this experience with two websites. Both websites produced a blank page but they had slightly different approaches to resolve because the extent of the impact or damage were different for both websites. We will take you through our experience with both websites and how we were able to fix the problems while we also explore extensively, how to address this problem of blank page when it affects your website.
Real Live Cases and How the Problem Was Solved
Let us approach it from a real case or standpoint. When this problem occurs, there are cases where you are still able to access the back end and there are cases when you just can’t access the backend at all. Let us look at these two scenarios and how we dealt with them for two live websites.
In the situation above and following the reported error, the solution will be to temporarily disable the remember.php file which is a part of the core Joomla installation. Renaming files in your installation with error reporting on is a very useful tool to investigate the cause of errors in your Joomla installation.
If all goes well after you refresh the page you should now be able to navigate around the administrator. Sometimes, after the error is fixed, you can rename the remember.php file back to the original name again the site will still be functioning properly.
In the first case, we noticed the blank page but could still login to the backend of the website.
This is how we were able to resolve the problem:
• Go to system>clear cache
• Click on delete all
• Return back to system>clear expired cache or simply check the left menu and click on the clear expired cache link
• From the top left, click clear expired cache.
Return back to the frontend of our website and check if things are working normally.
Remember that checking the error that created the problem as we have discussed in the earlier paragraphs will be a good way to prevent this problem.
In the second case, we were not be able to login to the backend of the website once the blank screen comes up. Just to take you back a little, the blank screen is called a white screen of death.
If you are unable to login to the website backend, then you need to take a more resource and time consuming approach to fix this problem.
Joomla Menu Manager Tutorial
You will need to try to detect the error following the steps discussed above in which case you will turn on error reporting and attempt to disable the error causing code or plugin or extension.
Here is what we did to fix a problem with a Joomla website which showed this problem but did not give us access to the backend of the website.
1. Check up for updates on your joomla website by going to components > updates
2. Copy the update link and download it to your local computer
3. Unzip the package.
4. Carefully delete any folder or files you do not intend to overwrite. Recommended: delete the images folder so that you do not loose your image customizations.
5. Login with an FTP software like Filezilla or WS-FTPPro by Ipswitch. I use the Ipswitch software because it gets frequent updates.
6. Upload and overwrite the files with your newly downloaded files.
That should fix your problem and your website should function well without issues.
It is possible that you installed custom components, modules and plugins. These may not be compatible with your latest update and could become a source of problem for your website. You will need to update the software to be assured of your safety. This is just the best and recommended option. Once you run the necessary updates, you should be fine and you can take it that you have addressed the problem.
The First Steps to Addressing This Problem
So your first steps should be in Joomla admin panel: System -> Global Configuration -> Server -> Error Reporting [Maxiumum] – This works when you are still able to address the problem
It will be necessary to enable debug function to see what type of errors are being outputted. Once you add this, the blank screen will now have errors, warnings, and notices. These may be able to help you determine the root cause. Note! Default Joomla's error reporting is not good for each case because it's visible to everyone, including your users. That's why please check features of plugin named Easy Error Reporting. This small plugin changes the error reporting level depending on the selected user groups, so for example only. Super Users will see errors on their pages, but other users won't.
What is helpful in most cases the Joomla application displays a blank page due to a corrupted (not Joomla core) plugin that is currently active for the site, so check them all, disable - enable one by one to check which one is a problem. If you suspect the problem is other extension related, you can try uninstalling any component or module you recently installed. After the problematic plugin is found check whether it is compatible with your version of Joomla. If you plan to use it contact the extension's developer and report the issue.
In most cases a blank screen means that there is a php error and because error reporting is set to default the error is not displayed on the screen and so all we see is a blank screen. To investigate and fix this problem, it will require that you check the cause of the error by turning on error reporting. Because the administrator section cannot be accessed, you will need to manually turn on eror reporting in file manager.
How to turn error reporting on in Joomla when you can't access the administrator.
As I earlier stated above, to confirm the error that you are dealing with you need to turn error reporting. This is easy to do in the global configuration section of your website’s backend. Normally this is accessible via the control panel however since it's not possible to access any pages in the administrator you need to adjust the setting manually.
1. In your site's root locate the file called configuration.php
2. Open the file with a text or code editor and edit the current setting for error reporting. In cPanel, you can do this online with the text or code editor.
3. The default setting is usually "default" and so in order to display errors on the page you need to change this setting to maximum.
4. After doing this and refreshing the front or back end of your site you should see an error that looks like the following.
<strong style="color: #000000; font-family: Times; font-size: medium; line-height: normal;">Fatal error</strong><span style="color: #000000; font-family: Times; font-size: medium; line-height: normal;">: Call to a member function get() on a non-object in </span><strong style="color: #000000; font-family: Times; font-size: medium; line-height: normal;">/PATH-TO-YOUR-SITE/plugins/system/remember/remember.php</strong><span style="color: #000000; font-family: Times; font-size: medium; line-height: normal;"> on line </span><strong style="color: #000000; font-family: Times; font-size: medium; line-height: normal;">94</strong>
Now we know what we are dealing with
So now that we have a discernible error on the page we know which field is causing the issue and gives us some material to start investigating how to solve the problem.
How to move a Joomla website from localhost to a live server and secure it
How to Avoid the Problem
The Joomla white screen of death is predominantly caused by outdated plugins, modules or components. Sometimes, after your installation, new versions of Joomla are released and you are tempted to update especially in cases where the new release happens to be a security release and you appear not to have any option than to update.
After you run an update, you will like have a situation where the extensions – modules, plugins and components, you are currently running on your website will no longer be compatible with your version leading to some security problems. Such can be exploited by attackers causing the White Screen of Death which is the blank white page you see.
You need to be mindful with turning on updates. You need to secure your Joomla websites using the .htaccess file and avoid unnecessary updating of the Joomla core while your extensions remain un-updated. Using the .htaccess file is a good way to prevent exploitation especially when you are running a slightly outdated joomla version. Ultimately, as Joomla installation requirements change and web hosts demand compliance with most recent versions, you will likely be force to run the required updates. This is important to avoid any problems which your old version can create on the hosting server. In most cases, old versions can be exploited and forced to send out massive unsolicited emails. It can also create load issues on the server and all these will be a problem which can cause the website to be suspended.