Troubleshooting

Debug errors in Joomla

Reviewed on 2 min read depuracion joomla

If Joomla hides a failure, temporarily enable error reporting to get the exact message. Preferably do it on a clone: showing errors on a public website can expose paths, queries and internal data.

From the administrator, go to System > Global Configuration > Server > Error Reporting and select Maximum. Reproduce only the failing action, keep the exception and then restore the value it had before the test.

If the administrator does not load, make a copy of configuration.php, find:

public $error_reporting = 'default';

and temporarily change it to:

public $error_reporting = 'maximum';

Do not use values such as 30711 or 30719: the E_ALL masks change between PHP versions. Joomla supports the named values none, simple, maximum and development.

error_reporting decides which levels PHP reports, but does not by itself guarantee that they are written to a file. Compare the time with the PHP and Joomla logs. When you finish, restore the previous value (for example, default), check from another session that the error is not shown and delete any public copy of the configuration file.

See the official Joomla global configuration.

Tell error reporting apart from system debugging

The error reporting setting and Debug System serve different purposes. You do not need to enable both for every issue; choose the source that lets you locate the failure and limit who can see it.

The interface and supported options depend on the Joomla version. Keep a private copy of configuration.php before editing it: it contains the database credentials. Check the syntax and do not leave a downloadable .bak copy next to the website. If it is an old branch, reproduce the problem there only to prepare a compatible recovery or migration.

You may also find useful

Something wrong or out of date? Tell us and we will review it.