我在我的linux计算机上正确设置了MySQL,但我想要一种更好的方法将数据输入到终端之外的数据库中。出于这个原因,我下载了phpMyAdmin。但是,当我尝试从index.php登录phpMyAdmin时,它什么也没做。它似乎只是刷新页面而不做任何事情。我正在输入正确的MySQL用户名和密码。有什么问题?
以下是点击“go”后显示内容的屏幕截图。
答案 0 :(得分:13)
如果未正确设置保存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
restart http server.
答案 1 :(得分:2)
如果会话文件夹不可写,则登录失败。要检查这一点,请使用以下命令在您的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>
-
答案 2 :(得分:1)
我使用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答案 3 :(得分:1)
在我的情况下,解决方案是正确设置Apache设置:
ProxyPassReverseCookiePath
这是必需的,因为 ProxyPass 和 ProxyPassReverse 正在使用中,但Cookie路径不会自动更改。
如果在使用POST发送密码时,PHPMyAdmin显示的内容类似于找不到会话或任何内容,那就太棒了。
答案 4 :(得分:1)
您是否在其中一个父目录中有一个.htaccess文件,通过执行301重定向从URL中剥离index.php?
301重定向会丢弃表单数据并重定向您,就好像您没有提交任何内容一样。所以你会回到登录页面。
因此,您应该在phpmyadmin目录中使用单行RewriteEngine On
创建一个本地.htaccess文件。这会将之前的重写规则覆盖为空。
您可能需要清除浏览器缓存,因为Chrome会主动缓存301重定向。
答案 5 :(得分:1)
在我的情况下,硬盘已满。
使用df -h
检查硬盘驱动器上剩余的空间,如果需要,可以使用命令sudo apt-get clean
释放一些空间,这将删除安装文件。
我希望这有助于未来的一些用户。
答案 6 :(得分:1)
我迟到了游戏,但在亚马逊linux AMI上我无法登录到phpmyadmin ...它只是一直刷新登录界面而没有错误。
我已修复以下命令
sudo chmod -R 755 /var/lib/php/session
答案 7 :(得分:0)
答案 8 :(得分:0)
你确定mysql正在运行吗?在进行数据库导入并填满包含mysql数据库的卷后,我遇到了同样的问题。更改各种权限和清除会话后,我尝试重新启动mysql(/etc/init.d/mysql restart),但由于卷已满,它失败了。在增加/ var并成功启动mysql之后,我能够很好地登录phpmyadmin。
答案 9 :(得分:0)
如果您遇到如下错误:
由于许多连接错误,主机'host_name'被阻止。
以root身份登录mysql并运行flush hosts命令
1.- mysql -u root -p
2.- mysql&gt;冲洗主机
在此之后我能够再次登录phpmyadmin
答案 10 :(得分:0)
phpMyAdmin将在登录失败时显示错误。如果没有,表示您的设置有错误。
最有可能检查的地方是 php.ini
设置。由于似乎没有正式的phpMyAdmin兼容设置列表,因此主要是试错。
确保您需要启用enabled the stuff。还要检查你是否没有启用 uncommon php.ini设置(如enable_post_data_reading = Off
),因为phpMyAdmin认为它们是“通常的”。
为了简化调试,请从干净的default php.ini
文件开始,然后逐行调整它们以查看导致错误的设置。 (不要忘记在更改php.ini
文件后需要重新启动服务器才能进行更改。)
答案 11 :(得分:0)
在我的情况下,这是由于旧的Apache会话。
停止Apache,清除sessions.save_path
目录中的所有待处理会话(例如:/var/lib/php/session
)并重新启动Apache。
答案 12 :(得分:0)
我运行了这些命令,它对我有用:
sudo service httpd restart
sudo service mysqld stop
sudo service mysqld start
答案 13 :(得分:0)
确保在$cfg['blowfish_secret']
值的'config.inc.php'中设置一个32个字符长的随机密钥。这解决了我。