Can't log in with admin, no error messages

This error comes back time-to-time, especially after a Joomla site is moved from one server to another. The symptoms are simple - but frightening. You try to login to the administrator interface as usual, with your well known credentials, and the login box is reloading whitouth any kind of error message and withouth letting you in. No errors in browser console, no error in the logs, and no errors even if you turn the error reporting to maximum or the Joomla debug on. You can try even the tricks described elsewhere in this site to change your admin password - that won't help.

Why? Because the cause(s) - yeah, there can be multiple causes - are different from having bad credentials! Let's see what you can do about!

ATTENTION: these tricks are qualified as core hacks, so be careful: backup, wear your lucky hat, keep your finger crossed - and take any other security measures before you proceed - you can ruin your site easily with a wrong move.

Wrong $cookie_domain

You might set this configuration.php variable to something but the default "" on your old server. Check it, and reset it to this:

public $cookie_domain="";

Eventually you can add there your real domain name, but the setting is completely optional. If you have multiple domain names pointing to your site you anyway need to use the default "" setting.

Wrong $cookie_path

Very similar to the previous problem. You might set on the original server the path to the stored cookies. Check if you have something in the variable in the configuration.php, and be sure that points to the correct path. But is safest if you reset it to the default value:

public $cookie_path="";code>

Joomla is unable to write to the logs directory

In order for Joomla to complete a successful login, it must have write access to the logs directory located under the root directory of the website. If it doesn’t, then the login fails and no error is displayed – which is very, very confusing!

The problem can be solved by checking in configuration.php the location of Joomla's log folder:

public $log_path="somepath/in/root/or/in/admin";

and changing the permissions of the given directory under the Joomla website’s root to 755. (This can be done in any FTP client). If that does not solve the issues - happens with older Joomla sites recently upgraded from 3.8+ versons of Joomla, you need to change the path in the variable. Joomla historically used the "WEBROOT/logs" directory by default. This has been changed to the "WEBROOT/administrator/logs". You should check, what scenario are you in, and change the setting to match the other scenario. Sounds silly, but works in many cases.

 The Joomla Authentication plugin is disabled

Generally - by default - a Joomla website uses the Joomla Authentication plugin for logging in users through the backend. If the Joomla Authentication plugin is disabled, then people will be redirected back to the login page (with no error) when they try to login. This can be fixed by editing the core #__extensions table. You need to access the database via phpMyAdmin or any other database editing tool your hosting panel provides, go to the #__extensions table, and then check if the enabled field of the plg_joomla_authentication plugin is set to 1 - otherwhise you need to change to this value.

You might use other authentication plugin - generally less, than 0.1% of Joomla sites are in this situation - then you need to check that the corresponding plugin - such as ldap - is enabled, and the settings are correct. If all is ok, you can attempt again the login. Remember, for authentication plugins using external resources - as the ldap plugin - the login process will take a while before redirecting back to the login page (this is because Joomla will be checking the ldap directory, which usually takes some time). You need to be patient to be sure, that if everything is working, and not this delay is the real problem.

The Joomla User plugin is disabled

The Joomla User plugin is responsible for handling all user activity in Joomla. If that plugin is disabled, then even if the login is successful, then Joomla will redirect back to the login page without showing any errors as it doesn’t know what to do with the logged in user. This problem is extremely nasty because it’s very hard to debug – even for seasoned Joomla developers.

This issue can be resolved similarly to the previous one, by logging in to phpMyAdmin, going to the table #__extensions, and setting the enabled value of the plg_user_joomla row to 1.

Wrong permissions for configuration.php

Rarely, but the permissions of the main config file, configuration.php can be the culprit. Use your preferred FTP client, and check to have it set to 444 - the safe default for Joomla configuration files for newer Joomla sites on most servers  - or 644, the recommended default setting for Joomla files.

And more...

There are the most likely causes of this strange error, In my practice I did not personally experienced other situations leading to this problem. But others reported couple of more exotic scenarios like:

  • missing/damaged Joomla files
  • wrong .htaccess rules
  • PHP version related problems (usually server default set to wrong value, as PHP 5.4 instead of recommended PHP 7.4+)
  • caching problems - both server side and local browser
  • messed up ACL
  • ....

And so on - the list is open. But if you are in one of these scenarios you need a real Joomla pro to fix your site. So if none of above tricks work for you, hire a pro!