我在我的 linux 计算机上正确设置了 MySQL,但是我想要一种更好的方法来将数据输入到除了终端之外的数据库中。为此,我下载了 phpMyAdmin。但是,当我尝试从 index.php 登录到 phpMyAdmin 时,它什么也没做。似乎只是刷新页面而不做任何事情。我输入了正确的 MySQL 用户名和密码。问题是什么?
这是我单击“开始”后显示的屏幕截图。
我在我的 linux 计算机上正确设置了 MySQL,但是我想要一种更好的方法来将数据输入到除了终端之外的数据库中。为此,我下载了 phpMyAdmin。但是,当我尝试从 index.php 登录到 phpMyAdmin 时,它什么也没做。似乎只是刷新页面而不做任何事情。我输入了正确的 MySQL 用户名和密码。问题是什么?
这是我单击“开始”后显示的屏幕截图。
当保存 php_session 的路径未正确设置时,这可能是一个问题:
存储会话的目录不存在或 php 没有足够的权限写入它。
要定义 php_session 目录,只需将以下行添加到 php.ini :
session.save_path="/tmp/php_session/"
并赋予http服务器写权限。
通常,http 服务器作为组守护进程中的用户守护进程运行。如果是这种情况,以下命令将使它:
chown -R :daemon /tmp/php_session
chmod -R g+wr /tmp/php_session
service httpd restart
如果会话文件夹不可写,则登录失败。要检查这一点,请在您的 web 目录中创建一个 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 -m u:www-data:rwx <session directory>
或 chmod 777 sudo setfacl -R -m u:www-data:rwx <session directory>
-
我用 MariaDB 和 phpmyadmin 在 CentOS 7 上解决了我的问题,我从官方 phpmyadmin 站点下载了
session.save_path = "/var/lib/php/session"
到/etc/php.ini
和
chown -R :lighttpd /var/lib/php/session
之后我还重新启动了 php-fpm 和 lighttpd
就我而言,解决方案是正确设置 Apache 设置:
ProxyPassReverseCookiePath
这是必需的,因为ProxyPass和ProxyPassReverse正在使用中,但 cookie 路径不会自动更改。
如果 PHPMyAdmin 在使用 POST 发送密码时显示诸如 session not found 之类的东西,那就太好了。
您是否在某个父目录中有一个 .htaccess 文件,该文件通过执行 301 重定向从 url 中剥离 index.php?
301 重定向会丢弃表单数据并重定向您,就好像您没有提交任何内容一样。因此,您将返回登录页面。
因此,您应该在 phpmyadmin 目录中用一行创建一个本地 .htaccess 文件RewriteEngine On
。这会将之前的重写规则覆盖为空。
由于 Chrome 会主动缓存 301 重定向,您可能需要清除浏览器缓存。
在我的情况下,硬盘驱动器已满。
用于df -h
检查硬盘驱动器上的剩余空间,如果需要,可以使用sudo apt-get clean
删除安装文件的命令释放一些空间。
我希望这将有助于一些未来的用户。
我运行了这些命令,它对我有用:
sudo service httpd restart
sudo service mysqld stop
sudo service mysqld start
我玩游戏迟到了,但是在 Amazon linux AMI 上我无法登录到 phpmyadmin ...它只是不断刷新登录屏幕而没有错误。
我已经用下面的命令修复了
sudo chmod -R 755 /var/lib/php/session
你确定mysql正在运行吗?在进行数据库导入并填充包含 mysql 数据库的卷后,我遇到了同样的问题。更改各种权限并清除会话后,我尝试重新启动 mysql(/etc/init.d/mysql restart),但由于卷已满而失败。增加/var并成功启动mysql后,我就可以正常登录phpmyadmin了。
如果您有如下错误:
由于许多连接错误,主机“host_name”被阻止。
以 root 身份登录 mysql 并运行 flush hosts 命令
1.- mysql -u root -p
2.- mysql > 刷新主机
在此之后,我能够再次登录 phpmyadmin
登录失败时,phpMyAdmin 将显示错误。如果没有,则意味着您的设置有错误。
最有可能检查的地方是您的php.ini
设置。由于似乎没有与 phpMyAdmin 兼容的设置的官方列表,因此主要是反复试验。
确保您已启用需要启用的内容。还要检查您是否没有启用不常见的php.ini 设置(如enable_post_data_reading = Off
),因为 phpMyAdmin 假定它们是“常用设置”。
为了简化调试,从一个干净的默认php.ini
文件开始,然后逐行调整它们以查看导致错误的设置。(不要忘记更改php.ini
文件后需要重新启动服务器才能进行更改。)
就我而言,这是由于旧的 Apache 会话所致。停止 Apache,清除您sessions.save_path
目录中的所有待处理会话(例如/var/lib/php/session
:)并重新启动 Apache。
确保在$cfg['blowfish_secret']
值的“config.inc.php”中设置一个 32 字符长的随机键。这为我解决了它。