卡住loginPhpMyAdmin

我通过apt-get来了解phpmyadmin。

我已经设置了Apache的env-vars到正确的用户:组。 我将/ etc / apache2和/ etc / phpmyadmin的所有权设置为此用户:组。 我重新启动了Apache2和MySQL几次。

我的问题:当我访问[ServerIP] / phpmyadmin我得到login屏幕,我input的信息,我马上就在login屏幕,甚至没有“权限被拒绝”或“密码错误”或任何错误。 唯一不同的是url:而不是原文

http://[ServerIP]/phpmyadmin/index.php 

我现在在

 http://[ServerIP]/phpmyadmin/index.php?token=[Long Hex string here] 

但是,仍然是login对话框。

我的问题:我如何解决这个问题?

检查你的cookies。 我认为phpmyadmin使用Cookie进行身份validation。 要么你不接受cookies,要么phpmyadmin将cookie设置为错误的域名

看看你的config.inc.php文件,你可能会想要设置“主机”设置为你使用访问你的服务器的相同的IP地址。

在过去的几个星期里,我似乎已经把这个问题搞了好几次了。

通常,当phpMyAdmin在尝试使用基于cookie的login时不显示任何错误时,会出现与SESSION或POST相关的问题。 PHP善意地省略了日志文件中的大部分会话错误。

看看下面的内容:

  • Cookies(存储会话ID,它应该保持相同的请求值)
  • 会话目录存在
  • 会话目录权限(用户应具有写权限)
  • 会话目录可用空间
  • 否则会话目录不可写入(有问题的networking共享/驱动器)。
  • 超出用户磁盘配额(如果PHP用户不是www-data,则通用)
  • 其他文件存储错误(如networking共享)
  • 其他会话存储错误(例如,如果您使用特殊会话提供程序)
  • max_post_size太小(或太大,2G max_post_size翻到负数)
  • Web服务器configuration问题(阻止POST请求到达phpMyAdmin)

如果您的PHP安装不包含“mcrypt”库,我就会看到这种情况。 检查phpinfo(),看看你是否有一个mcrypt部分。

如果缺less“apt-get install php5-mcrypt”

我每个月都有这种事发生在我身上,而且这太令人讨厌了 – 消灭所有与PMA有关的cookies一直是个伎俩。 根据您的浏览器,您应该能够在这里find一些说明:

http://www.aboutcookies.org/Default.aspx?page=2

我有Firefox,并有Web开发工具栏的附加组件,所以我只需去Cookies->删除域Cookie

也许这只是服务器暂时超载。 服务器正在吸取相当数量的资源。 尝试删除任何未使用的文件,例如旧的备份数据…

我也有这个问题。 如果您使用安装向导来configuration您的phpMyAdmin实例,请确保您的config.inc.php文件位于phpMyAdmin根目录中,而不是仍然位于安装向导所在的configuration目录中。

我遇到了同样的问题。 如果您使用apt-get php5-mycrypt安装了mycrypt扩展,则需要在php.ini文件中手动启用它。

这不是自动激活我(在这个浪费了一个小时)。

要手动启用扩展只需添加

延长= mycrypt.so

到/etc/php5/apache2/php.ini文件。 这可以在文件的任何地方完成。

被请求的用户名和密码是最有可能的数据库,而不是任何与Apache相关的。 尝试一个有效的数据库用户,看看是否让你在你想去的地方。

在通过apt-get安装phpmyadmin后, http://127.0.0.1/phpmyadmin将不加修改地工作,大部分的依赖关系都会被满足。 但是,您可能仍然需要安装mysql:

 apt-get install mysql5-server 

如果你想连接到远程mysql服务器,你需要修改phpmyadmin的.phpconfiguration文件。

另一种可能是您禁用了cookies或者javascript被closures,请尝试使用默认的Firefox。

检查/etc/phpmyadmin/config.inc.php并validation您的所有设置是否正确。

  1. 或者没有安装mcrypt,或者您的mySQL连接closures
  2. 为确保您可以连接到mySQL,请确保php.ini文件具有正确的mySQL套接字
  3. 在php.ini中,查找mysql.default_socket = /tmp/mysql.sock
  4. 应该将mysql.default_socket设置为你安装的mysql套接字的位置
  5. 对于Mac OS X 10.6。 如果你安装了mySQL,默认位置是/tmp/mysql.sock

我有同样的问题,经过所有的PHPMyAdmin修复后没有任何工作。

然后 ….

注意到光盘很满。 删除了一堆东西和POOF! PHPMyAdmin的工作!

全盘也阻止了重新启动MySQL。 它停止MySQL,但它不会重新启动,无论我尝试了什么!

DISC空间!

刚刚有这个问题。 如果清除Cookies和Cache以及编辑会话variables不适用于您,请尝试以下操作:

 chmod 777 -R /var/lib/php5/ 

给予完整的读取,写入和执行到PHP5的recursion修复我的问题。 再一次,这个问题可能与权限有关。 Ubuntu可以是非常确定性的方式,你必须允许的权限。 我希望这可以帮助,如果没有,至less你可以检查它。

我想指出的是,另一个问题虽然可能完全不相关,但在解决这个错误之后,还会有另一个错误。 这当然是mcrypt扩展没有find错误。 如果发生这种情况,请查看这篇文章立即解决

在其他答案中有一些提示, mcrypt可能是罪魁祸首,但没有一个明确地给出解决scheme。 如果您无法使用Cookie身份validation,但configuration身份validation的作品,这可能是你的。 以下是基于Ubuntu 14.04桌面:

  1. 确保你已经安装了php-mcrypt: sudo apt-get install php5-mcrypt
  2. 检查/etc/php5/apache2/conf.d目录中的mcrypt.ini符号链接(在某些Linux发行版上,这只是/etc/php5/conf.d )。
  3. 如果没有符号链接,请创build它:

    sudo ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini

    其中../../mods-available/mcrypt.ini应该replace为mcrypt.ini的正确的相关链接(查看提示目录中的其他符号链接)。

  4. 重新启动apache2:

    sudo service apache2 restart

如果会话文件夹不可写,则login失败。 要检查,请在您的Web目录中创build一个PHP文件:

 <?php $sessionPath = 'undefined'; if (!($sessionPath = ini_get('session.save_path'))) { $sessionPath = isset($_ENV['TMP']) ? $_ENV['TMP'] : sys_get_temp_dir(); } if (!is_writeable($sessionPath)) { echo 'Session directory "'. $sessionPath . '"" is not writeable'; } else { echo 'Session directory: "' . $sessionPath . '" is writeable'; } 

如果会话文件夹不可写也可以

sudo setfacl -R -mu:www-data:rwx <session directory>或chmod 777 sudo setfacl -R -mu:www-data:rwx <session directory>