Websites will inevitably have problems. Sometimes, they can be as frustrating as a White Screen of Death (WSOD) Whether you're using Joomla or any other content management system, you will always have issues and you need to spot, fix them and secure your Joomla website. Joomla uses PHP and when PHP has problems, it reports them to you and these errors become visible to your site visitors.
When you will see strange error messages on your Joomla site, it is a signal that something and needs to be fixed. Most of the time, you need to check your PHP settings and compatibility with your website version. Sometimes, when you are running an upgraded Joomla version on an unsupported PHP version, it could create compatibility issues. In that case, you need to upgrade your PHP version or contact your web hosting company to do it for you. Sometimes, you consider reverting back to a previous version and take steps to address website issues.
Also read: How Secure is Your Joomla Website
So how to get rid of them?
Firstly, we have to mention that some PHP errors are just warnings or notice errors and if you hide them, this will not affect the functionality of your site.
But there are PHP errors which makes the situation serious. In this case, it`s best to contact the PHP programmer or contact the support page of your template provider or the support page of the extension which is causing these errors.
Also read: How to Fix The Joomla White Screen of Death
In this article, we will do a brief introduction to these errors dealing with the different types of errors and how to manage them.
Notices vs Warnings vs Errors
There are three main ways in which PHP will report problems: notices, warnings and errors.
These are the least important. According to the official PHP website, notices are generated when:
"the script encountered something that could indicate an error, but could also happen in the normal course of running a script."
Warnings are more serious, but most likely, notices won't break your site. According to the official PHP website, warnings are:
"non-fatal errors. Execution of the script is not halted."
Errors are the most serious type of problem and could break your site. According to the official PHP website, warnings are:
"Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted."
Option 1: Disabling Error Reporting on Your Joomla Site
One of the solution, and probably the one you'll take first, is to stop the errors from showing.
Go to Global Configuration > Server > Error Reporting.
You have five choices:
System Default: this allows error reporting to be determined by the php.ini file on your server.
None will disable all error reporting.
Simple will show Errors and Warnings but won't show Notices.
Maximum will show Errors, Warnings and Notices.
Development will literally overwhelm you with feedback. If you're not a developer, please don't use this option.
Also read: How to move a Joomla website from localhost to a live server and secure it
How to Fix PHP Compatibility Problems
From the cPanel Control Panel section of your website, locate MultiPHP Editor, select your domain name and change your PHP settings to be compatible with your Joomla version. That's it.
Fixing a problem is definitely much more harder than hiding the problem.
Here are some suggestions that works for joomla. Please backup, always backup your site before trying any of these.
Make sure your Joomla site and all your extensions and templates are up-to-date.
Search Google and Joomla.org for anyone who has reported the same message. See if they have found a solution.
Read the message itself for hints about the problem. Often the message will contain the name of the extension or template that is causing problems. Disable that extension or template to see if that fixes the problem.
Also read: My Joomla Website Displays a Blank Page, What Should I do
How to Fix Warning JUser:_load: Unable to load user with ID
If you have installed Joomla with sample data and you’ve deleted all the “demo” users – the Joomla! system could be ‘disappointed’ because it would now have a problem to associate previously-created content or added items to the user, which no longer exists. It’s like a book without an author (on the cover); something is missing/wrong. That’s why you might see the “Warning JUser: :_load: Unable to load user with ID:532? message. There are multiple fixes for this issue but some of them require code hacking – we prefer only 100% universal and safe solutions.
How to fix “Unable to load user” without reinstalling whole Joomla!
Relax, it can be fixed without reinstalling the whole Joomla – so you will not lose any changes or added content.
What Creates The Error?
This kind of error is usually associated with the deletion of a user. If you deleted the user permanently all you have to do is create a new user and add the missing ID to him.
It could also occur when you rename a user's username.
How to fix the problem
Please follow these instructions to fix the problem:
Please backup your database before making any modifications to it!
- Open your Joomla database using the PHPMyadmin tool or use one of the other extensions.
- In your configuration.php file check what database prefix you have used for this installation. As you can see it:public $dbprefix = 'database-prefix_';
- Now in your DataBase Manager tool use the search option and search for the “database-prefix_users” table. Or just scroll through the whole screen until you find this.
- Change that user’s ID to 214 (or whatever ID given by your error message) in the #__users table. Remember to Save changes.
- That’s all, this issue should be fixed.
You can also fix this issue by using the user manager to create a new User – with Administrator rights – it means that User must be assigned to at least to the “Administrator” group as a minimum.
Unfortunately You can’t choose which ID a user will have before it’s created. But, once that user is created, you can change its ID.
Note what ID the newly-created user will have, as it is important information we’ll shortly require again.
Now please backup your database before making any modifications to it!
Open your Joomla database using the PHPMyadmin tool.
In your configuration.php file check what database prefix you have used for this installation.
Now in your DataBase Manager tool, use the search option and search for the “#_users” table – where “#” is your Joomla! database prefix. Or just scroll through the whole screen until you find this:
Change that user’s ID to 532 (or whatever ID given by your error message) in the database_prefix__users table. Remember to Save changes.
Now find the “database_prefix_user_usergroup_map” table. Find and open (click “Edit” icon) the record with the “group_id” value; change the value to 532, then click the “Save” button.
That’s all, the issue should be fixed.
How to reset Joomla when having file or database problems
There are times that your Joomla website will show some functionality problems after you tweak some settings. It is possible that you could face admin login issues and resetting it with the usual recommended methods do not work. You will need to reset the Joomla installation to get things done and in this troubleshooting guide, I'll show you some simple steps to reset the Joomla core files and database.
First,you will need to Understanding the problem. However, the steps outlined below can help resolve a lot, but not all issues.
Some issues arise after a Joomla core update. If for some reason (e.g. server resource exhaustion or a bug) only some files get updated, it often results in fatal errors or strange usability issues.
Now follow these steps to resolve the issues:
1) Create a backup
Create and download a backup of your site, just in case something goes wrong.
2) Fix your file permissions
Fix your folder and file permissions using Admin Tools.
3) Reset your files
Go to Joomla's Version History page and go to your respective version. Be sure to get your exact version and not a different version.
Then click on "Packages" for your Joomla version.
On this page, you'll look for a package that ends in "Stable-Update_Package.zip". For example, "Joomla_3.4.8-Stable-Update_Package.zip".
Next, simply install it as you would a normal extension. This will reset all the core files, and also run the database checks.
Pro tip: If Joomla's installer isn't working, simply unzip the package (or FTPs the package's content) into the Joomla root.
4) Fix your database
Finally, go to:
Extensions > Manage (top menu)
Database (left menu)
Now your Joomla core files and database should be reset.
Joomla Crashed Session: How to Repair
The message which says one of joomla database tables has crashed is not uncommon for most Joomla users. . It says that the solution is repair that table and this should be pretty much easy if you follow the error message and know how to go about it. This tutorial will guide you through repairing your crashed seesion in Joomla.
The first question will be which table do we need to repair?
The error message will give a good guide. For the purpose of the tutorial, let us say the crashed information is: Table './nass_j25testdb/usjbr_session
This contains two pieces of information:
Our database name is nass_j25testdb
Our database table is usjbr_session
That's where the solution lies: we need to find the database called nass_j25testdb and repair the table called usjbr_session.
Let's begin with table repair: Repairing a database table
Login to your hosting account.
Look at your "MySQL Databases". One very easy solution here is the "Modify Databases" option.
Look for the Repair DB option.
Choose the nass_j25testdb.
Click the Repair DB button.
You'll now see a series of messages. One of those will probably say that your _session had a problem that has now been fixed:
Your site should now be back online.
An alternative solution
Here's another way to solve this problem.
Many hosting companies will give you direct access to the database via phpMyAdmin.
Find your database on the left of the page:
Check the box next to your _session table.
Choose the Repair table option at the bottom of the page.