Nginx phpmyadmin抱怨权限和open_basedir-但它们看起来都是正确的

Nginx phpmyadmin抱怨权限和open_basedir-但它们看起来都是正确的,nginx,phpmyadmin,php,open-basedir,ubuntu-14.10,Nginx,Phpmyadmin,Php,Open Basedir,Ubuntu 14.10,phpmyadmin已安装并正常运行数月,通过本回购协议安装: 黛布http://ppa.launchpad.net/tuxpoldo/phpmyadmin/ubuntu 乌托邦主 突然,我无法登录;没有页面内错误,但日志显示: PHP message: phpmyadmin: Failed to load /etc/phpmyadmin/config-db.php Check group www-data has read access and open_basedir restriction

phpmyadmin已安装并正常运行数月,通过本回购协议安装:

黛布http://ppa.launchpad.net/tuxpoldo/phpmyadmin/ubuntu 乌托邦主

突然,我无法登录;没有页面内错误,但日志显示:

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

我遵循并更改了用户和组权限以匹配示例用户:root,group:www data,并更改了目录权限以匹配

我双重、三次检查了openbasedir限制是否有效,并检查了phpinfo 我尝试将权限更改为fpm工作池的权限。 我重启了。 我做了一个sudo apt安装-重新安装phpmyadmin

我在两者之间做的唯一一件事就是跟随,它想要的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重新配置-犁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

无论如何,我希望这对其他人有所帮助。

事实证明,这是一条来自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重新配置-犁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\u itk\u模块

如果是,则必须在apache设置中使用:

<ifmodule mpm_itk_module>
AssignUserId myuser www-data
</ifmodule>
用您自己的web目录替换/home/yourpath/htmldir


我希望此帮助

这当然是因为您使用的是mpm_itk_模块

如果是,则必须在apache设置中使用:

<ifmodule mpm_itk_module>
AssignUserId myuser www-data
</ifmodule>
用您自己的web目录替换/home/yourpath/htmldir


我希望这能帮助你

谢谢你提供的信息。只是说最后我放弃了,现在使用adminer。好多了!一个文件,没有麻烦。谢谢你的信息。只是说最后我放弃了,现在使用adminer。好多了!一个文件,没问题。你看了我的答案吗?嗨,迈克。是的,我做了,我在2016年对此发表了评论。而且,这个答案并不适用于我的情况,因为我的问题被标记为nginx,你的答案适用于Apache,而我在两年前的回答中已经解决了这个问题。但是我相信这个答案对于其他使用Apache的人来说确实有些用处。非常感谢。你看到我的答案了吗?嗨,迈克。是的,我做了,我在2016年对此发表了评论。而且,这个答案并不适用于我的情况,因为我的问题被标记为nginx,你的答案适用于Apache,而我在两年前的回答中已经解决了这个问题。但是我相信这个答案对于其他使用Apache的人来说确实有些用处。非常感谢。我通过将相关用户添加到www数据组中,保留原始权限不变,解决了类似的问题。sudousermod-a-gWWW数据phpmaI通过将相关用户添加到www数据组而不改变原始权限,从而解决了类似的问题。sudo usermod-a-G www-data-phpma