Today I have faced a strange, never seen before error. I have worked on recovering a server with couple of old Joomla sites after a major crash, when one of sites ceased to "fly" again, and showed up nothing else but a white screen with this text:

Infinite loop detected in JError

Took me some time to figure out, because the usual tricks - to enable the Debug, to set errorlevel to maximum via editing configurationphp, removing the template set as default and force via database edits the use of some templates shipped with core Joomla packages does not helped at all.

I was pretty close, in fact, but realised only later, that the issue has been generated by one minor mistake in the configuration.php. This turned me curious, and played a bit with the entries there, and turned out, that is pretty easy to generate the error by modifying these values from configuration.php:

public $db = 'some_dbname';
public $dbprefix = 'prefix_';
public $dbtype = 'dbtype;
public $host = 'dbhostname';
public $user = 'dbuser';
public $password = 'dbpassword';
public $log_path = 'logpath';
public $tmp_path = 'tmppath';

First ones are rendering the site completely useless. The last two are trickier, the site apparently works, but thows the above error especially in the backend. Obviously these are values usually changed when server environment is changed for some reason - as you moved the site manually from one server to another. Might be tricky to find out what's going on, so here is an

extra tip to make your life easier

Be aware, than the following trick qualifies as a core hack, so it is not recommended to play with if you aren't fully aware on what you are doing! Make backups of your backups, fasten your seat belt, put your glass of scotch handy - just in case, then proceed.

For getting the detailed information about the actual problem, you can edit the following file of the server.

/libraries/joomla/error/error.php

In the file, find the line below, remove the // commenting tag and add the < pre > tags to get a readable output.

// echo debug_print_backtrace();

Change it to

print"<pre>";
echo debug_print_backtrace();
print"</pre>";

Then save the changes. As a result you will see a more detailed error shown by Joomla, that could help you to have more clues of how to correct the settings in your configuration.php.

Fingers crossed!

Category: Joomla Troubleshooter

Joomla Troubleshooter Menu