>phpmyadmin已经安装并工作正常数月,通过以下存储库安装:
deb http://ppa.launchpad.net/tuxpoldo/phpmyadmin/ubuntu utopic main
突然,我无法登录;没有页面错误,但日志显示:
PHP message: phpmyadmin: Failed to load /etc/phpmyadmin/config-db.php Check group www-data has read access and open_basedir restrictions"
PHP message: phpmyadmin: Failed to load /var/lib/phpmyadmin/config.inc.php Check group www-data has read access and open_basedir restrictions"
所以,我检查了:
ll /etc/phpmyadmin
drwxrwxr-x 3 www-data www-data 4096 Nov 16 20:11 ./
drwxr-xr-x 132 root root 12288 Nov 17 15:33 ../
-rw-r----- 1 www-data www-data 549 Nov 16 20:11 config-db.php
和
ll /var/lib/phpmyadmin
drwxr-xr-x 4 www-data www-data 4096 Oct 8 15:51 ./
drwxr-xr-x 62 root root 4096 Nov 12 13:10 ../
-rw-r----- 1 www-data www-data 4478 Nov 16 19:48 config.inc.php
我按照这个 SO 答案并更改了用户和组权限以匹配示例(用户:root,组:www-data),并更改了目录权限以匹配。
我仔细检查了三重检查没有基于开放的限制有效,我检查了phpinfo()
我尝试将权限更改为 fpm 工人池的权限。
我重新启动了。
我做了一个sudo apt-get install --reinstall phpmyadmin
.
我中间做的唯一一件事就是按照本指南安装 freePBX,无论如何,它想要的 90% 都在我的机器上;只安装了像 sqlite 这样的东西,我什至不能确定是它阻止了它的工作。镜头很长,但也许值得一提。
其他一切,所有其他网站等,都运行良好。在我失去比过去 5 小时更多的头发之前,我真的很感激一些想法。谢谢!
这是来自phpmyadmin的一条相当误导性的消息:
Check group www-data has read access and open_basedir restrictions.
但是任何运行多个站点,使用 php-fpm 并完全关心安全性的人都会为每个站点提供单独的池。
在我的特殊情况下,解决方案是:
chown -R phpma:phpma /var/lib/phpmyadmin
chown -R phpma:phpma /etc/phpmyadmin
chown -R phpma:phpma /usr/share/phpmyadmin
然后sudo dpkg-reconfigure -plow phpmyadmin
顺便说一下,似乎在 Ubuntu 上进行软件包安装会到处飞溅文件,它有点像这样:
/etc/phpmyadmin/config.inc.php
按此顺序包含以下文件,除非您想提高登录 cookie 的有效性,否则实际上不需要触摸这些文件。
/var/lib/phpmyadmin/blowfish_secret.inc.php // self explanatory
/var/lib/phpmyadmin/config.inc.php // LoginCookieValidity etc
/etc/phpmyadmin/config-db.php // Leave this one alone
/usr/share/phpmyadmin/config.inc.php // auth, host, connection etc
我希望这无论如何都能帮助其他人。
这当然是由于您正在使用mpm_itk_module。
如果是,您必须在 apache 设置中使用:
<ifmodule mpm_itk_module>
AssignUserId myuser www-data
</ifmodule>
相反:
<ifmodule mpm_itk_module>
AssignUserId myuser myuser
</ifmodule>
phpmyadmin 需要组 www-data,如果你使用 AssignUserId,与另一个组一起失败。
您可以在"目录"中添加您的 apache 配置:
php_admin_value open_basedir "/home/yourpath/htmldir:/etc/phpmyadmin:/var/lib/phpmyadmin"
将/home/yourpath/htmldir 替换为您自己的 web dir。
我希望这有帮助