PhpMyAdmin не позволит мне войти в систему - не показаны ошибки


November 2018


26k раз


У меня есть PhpMyAdmin на удаленном сервере. Это было прекрасно до сегодняшнего дня, я не использовал его много раз (поэтому имя пользователя и пароль в порядке). Тем не менее, сегодня весь сайт не работал, он просто сказал: «слишком много подключений».

Сначала я повторен перезапустить Apache и MySQL, и это не устранило проблему.

Тогда я перезагрузил его shutdown -r now, и основной сайт работает сейчас, но PHPMYADMIN до сих пор не войти (и он не показывает какую - либо ошибку). После ввода моего пользователя и пароль и нажать войти, он показывает точные страницы (без ошибок) , как ничего не случилось бы. Я могу видеть , что маркер отличается в адресной строке , хотя.

Я попытался удалить все сеансы PHP вручную из / папки TMP (по FTP), и она имеет ту же проблему. Может ли база данных самой PHPMYADMIN быть повреждены? Как я могу это исправить?

заранее спасибо

12 ответы


Another reason not mentioned so far:

Modifying the webserver headers such as X-Frame-Options and others can have an effect on loading any page post-login. After login, you may see the login page refresh, but notice the address bar shows index.php+hash (meaning you are actually logged in). Or, you may simply get a blank page.

Use a browser inspector to check your PMA login page for headers received - if you see something, check your webserver configuration files for header modifications. In my case X-Frame-Options was set along with others. Once I commented these out, PMA was fine..


Possibly no space left on the device. In many cases it will not allow to create the session due to lack of space for the file.


Had the same issue.

I made a typo in my php.ini file (letter 'B' at the end of 2GB is the error):

post_max_size = 2GB
upload_max_filesize = 2GB

Apache started up but the php.ini file didn't load correctly. After fixing the typos and reloading Apache every thing worked ok.


Check if there is enough space available on server. In my case it was space problem. I deleted some files and its working fine now.

To check available space : df -h

To check available inodes : df -i

CodeIgniter cache was taking so much space.


In my case, the hard drive on the server was full.

In Linux, use df -h to view the available space on the hard drive and clean up unnecessary files.


a redirect can cause error. for example this lines in .htaccess in root folder :

# redirect all index.php to the folder root
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]

to solve it , you can simply create a .htaccess in PMA directory and put this line in it :

RewriteEngine Off

My issue was, I was using HTTP instead of HTTPS. I don't know why, my server allows both connections, but I must have made a change some where so it only allows HTTPS connections. Once I switched over, the website started to work again.


In my case, it was that I was trying to access through HTTP, not HTTPS.

Once I changed the address to https://mysite/phpmyadmin I was able to access.


Possible reasons are-

a) user has been locked.

b) There are too many users more than specified.

c) Your System/Ip (rights were provided to which) has been changed.

Please follow below steps-

Step1: Please server connect with root user and check if you are able to use your DB.

Step2: execute below commands.

mysql> flush hosts;

Now try to connect from phpmyadmin if success then fine other wise check if you are getting any IP related error if yes then check if that ip have required permissions.

Other Reasons may be

  1. opened_files_limit crossed whatever you mentioned in your configuration file.
  2. disk full.
  3. too many thread opened/too many connections.
  4. your login_user has been locked due to wrong password input a certain times (limit mentioned in configuration file default is 10).
  5. mysql port (default is 3306) is not open on DB server from outside.
  6. user does not have permissions from your system IP. etc.

I just spend forever troubleshooting this.

You are missing the mcrypt extension.

The mcrypt extension is missing. Please check your PHP configuration

You can check if this is the case by forcing

$cfg['Servers'][$i]['auth_type'] = 'http';

and looking at errors when you login.


If there are multiple MYSQL connection running simultaneously, PHPMYADMIN won't allow you to login (neither it'll show any error).

Either you need to increase your max_user_connection value (you can do that via ini) or you need to wait for sometime and try.


sudo htpasswd /etc/phpmyadmin/htpasswd.setup admin