How to Fix the Joomla 3.0 "Error displaying the error page: Application Instantiation Error" even if you configuration.php file is correct and unchanged.

灰暗的星星灰暗的星星灰暗的星星灰暗的星星灰暗的星星
 
分类:技术文章

 

Internal Serve Error
So you got a "Error displaying the error page: Application Instantiation Error" did ya? And now your Joomla 3 site won't show. Here is the complete guide on how to fix this issue.
 
IMPORTANT! Joomla will show the "Error displaying the error page: Application Instantiation Error" if your configuration.php file is not correctly configured. I.E. if the information used to connect to your Joopmla databes is NOT correct, you will always get the "Application Instantiation Error", but you may also get the error even if everthing seams to be correct. If you know your configuration.php file is perfect skip solution 2 below.
 
UPDATE: BEFORE YOU START.
Louis notes bellow in comments (Thanks Louis!) that if you are running joomla 3, you must make sure the line in the configration.php which tells Joomla what type of database to connect to is correct. Quite often the "Error displaying the error page: Application Instantiation Error" message will display if it is set to "mysqli" but the database is actually a mysql database. The line you are looking for in the configuration.php is:
    public $dbtype = 'mysql';
Make sure the databse type matches your database, if you are not sure, consult your webhosting company.
 

Solution 1: Check you configuration.php file:

The following items in your configuration.php file need to be correct for Joomla 3.1 (and above) to work (and not display: "Error displaying the error page: Application Instantiation Error"):
 
  • The database name in your configuration.php must match that of what is configured on your hosting account
  • The database username in your configuration.php must match that of what is configured on your hosting account
  • The database password in your configuration.php file must match what is configured on your hosting account
  • The database hostname in your configuration.php file must match what is configured on your hosting account
 
So…
Check you database name is correct
Check your database username is correct
Check the password and then..
Check your hostname is also, you know,…. correct.
 

Solution 2: Fix you database file from the Joomla backend.

The other reason you might get the "Error displaying the error page: Application Instantiation Error" is a type of corruption in your database. Don't worry it's easy to fix from the backend. If you don't have access to the Joomla backend, then skip to Solution 3.
 
Log on to you Joomla site (the one showing the "Error displaying the error page: Application Instantiation Error") and click on Extensions>Extensions Manager. On the left side you will find a list, click on "Database". Notice how a button called fix appears? (see screenshot below). Just click the Fix button and your "Error displaying the error page: Application Instantiation Error" days are over!
 
Fix Database Joomla 3

 

Solution 3: Get down and dirty with MySQL.

 
If none of the other "Error displaying the error page: Application Instantiation Error" solutions working for you, don't worry, I got your back. Log in to your hosting account and click on the icon for "phpMyAdmin". You will need to put in your login credentials to get in to your database, after that solving the "Application Instantiation Error" error is easy.
 
If you click on click on the database pane to the left, you will see all the tables of the database listed in the main pane of phpmyadmin.
 
To repair your database, scroll to the bottom of the tables and click the the words "check all".
 
Now, from the drop down menu just to the right, click and choose "repair tables" from the dropdown menu (this is an easy solution to simply fix a SQL database with no Joomla 3.1 backend access).
 
Here's a screen shot:
 
repair Joomla mysql tables on phpmyadmin
 
Did this fix your Error displaying the error page: Application Instantiation Error? If not, then try this:

 

Solution 4, Set database permisions:

 
This alst solution to the "Application Instantiation Error" was suggested to me by someone else but I have not testes it. Call it an "if all else fails" option when the above solutions don't solve the error.
 
If everything seams correct with the configuration of your joomla and the database, it has been suggested that you will need to use phpmyadmin to open your database and check the permissions. Your dtabase should allow "delete table data" and "CREATE TABLE IF NOT EXISTS IF NOT EXISTS IF NOT EXISTS" permissions for the user which you Joomla website uses to connect to the databse. In most cases you will only have one user which connects to the database, so just make sure that there are "delete table data" and "CREATE TABLE IF NOT EXISTS IF NOT EXISTS IF NOT EXISTS" permissionsfor the database (opening the databse in phpmyadmin and check it there).
 

Final thoughts on the "Error displaying the error page: Application Instantiation Error"...

 
I don't actaqully know for certain what causes the problem with the Joomla Database and would love to hear from anyone who know exactly how to stop the Application Instantiation Error from appearing in the first place. UPDATE: Another theoery is that it might be about aleviated by increasing the amount of memory allocated to php on the server, you could ask your hosting provider to do this. Like I say, I'm not sure about that, just a theory...
 
Prevention is always better than cure. Let me know if you have anything to add, make a comment! (thanks to comments, I have updated this with better information)