phpmyadmin - 禁止 - 您无权访问此服务器上的 /phpmyadmin/

Posted

技术标签:

【中文标题】phpmyadmin - 禁止 - 您无权访问此服务器上的 /phpmyadmin/【英文标题】:phpmyadmin - Forbidden - You don't have permission to access /phpmyadmin/ on this server 【发布时间】:2017-08-10 01:04:31 【问题描述】:

我知道这已经被问过很多次了,但所有的答案似乎都一样,而且没有一个对我有用。

我想从 localhost 以外的地方访问 phpmyadmin GUI。

我收到错误“禁止 - 您无权访问此服务器上的 /phpmyadmin/”。在浏览器中。

我正在使用 CentOS7、Apache 2.4.6 和 phpMyAdmin-4.4.15.10-1.el7。

我试过了:

<Directory /usr/share/phpMyAdmin/>
  Order Allow,deny
  Allow from all
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
  Order Allow,deny
  Allow from all
</Directory>

大多数人似乎建议我可以这样做:

<IfModule mod_authz_core.c>
    # Apache 2.4
    <RequireAny>
        Require all granted
    </RequireAny>
</IfModule>

或者:

<IfModule mod_authz_core.c>
    # Apache 2.4
    <RequireAny>
        Require ip 192.168.1.6
    </RequireAny>
</IfModule>

但这些都不起作用。

这是当前状态:

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 192.168.1.6
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Allow,Deny
     Allow from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

仍然得到:

禁止

您无权访问此服务器上的 /phpmyadmin/。

编辑-

作为附加信息,我已禁用 SELinux 并确保 /usr/share/phpMyAdmin 上的权限正确。

再次编辑-

我现在已经试过了……

<Directory /usr/share/phpMyAdmin/>
        Require all granted
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
        Require all granted
</Directory>

哪个肯定是你能得到的最基本的,但我仍然得到错误?

【问题讨论】:

【参考方案1】:
<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
         Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Allow,Deny
     Allow from All
   </IfModule>
</Directory>

【讨论】:

“要求所有授权”是关键【参考方案2】:

最终得到了这个工作。一下子出现了几个问题,妨碍了主要问题的排查……

首先,编辑 phpMyAdmin.conf...

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
         Require ip 192.168.1.6
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
         Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

您还需要确保/usr/share/phpMyAdmin 对于Apache 用户来说不仅可读而且可执行。我只是递归地将其修改为 777。

您还需要在 /etc/httpd/conf/httpd.conf 中添加以下内容:

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

检查 /var/log/httpd/error_log 以查看您在每个步骤中的特定错误。

【讨论】:

以上是关于phpmyadmin - 禁止 - 您无权访问此服务器上的 /phpmyadmin/的主要内容,如果未能解决你的问题,请参考以下文章

WAMP 错误:禁止您无权访问此服务器上的 /phpmyadmin/

OS X - 禁止 - 您无权访问此服务器上的 /phpmyadmin/setup

WAMP 服务器错误“禁止您无权访问此服务器上的 /phpmyadmin/。”

WAMP 服务器错误“禁止您无权访问此服务器上的 /phpmyadmin/。”

Forbidden 您无权访问此服务器上的 /phpmyadmin

如何解决 XAMPP PHPMyAdmin 403 禁止错误