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/。”