WAMP服务器错误 "禁止访问,您没有权限在该服务器上访问 /phpmyadmin/。"

30

大家好,之前我使用XAMP服务器,但在安装Joomla模板时会产生很多错误。现在我安装了WAMP,但还是存在以下问题: 1. 我可以通过127.0.0.1访问,但无法通过“localhost”访问。 2. 当我访问phpmyadmin时,出现如下错误。

Forbidden 您没有权限访问此服务器上的 /phpmyadmin/。

 Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.4.5/" 

# to give access to phpmyadmin from outside 
# replace the lines
#
#        Order Deny,Allow
#   Deny from all
#   Allow from 127.0.0.1
#
# by
#
#        Order Allow,Deny 
#   Allow from all
#

修改后,它会看起来像这样

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Allow from all
</Directory>

之后只需重新启动Wamp


代表Sreeraj,在更改c:\wamp\alias\phpmyadmin.conf文件内容时,请检查包含phpmyadmin版本号的路径和起始点。 - yizzlez
15个回答

40

前往C:\wamp\alias。打开文件phpmyadmin.conf并修改。

<Directory "c:/wamp/apps/phpmyadmin3.5.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

<Directory "c:/wamp/apps/phpmyadmin3.5.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Allow,Deny
    Allow from all
</Directory>

问题已解决


21
问题已解决,并添加了一个更大的问题。现在phpMyAdmin(数据库)是公开的,任何人都可以连接到它。干得好。 - oxygen
3
对于本地主机指向IPv6地址的系统,“Allow from ::1”是正确的解决方案。 - oxygen

26

将 httpd.conf 文件更改如下:

<Directory />
    AllowOverride none
    Require all denied
</Directory>

to

<Directory />
    AllowOverride none
    Require all granted
</Directory>

感谢上帝,有人不会一遍又一遍地发布相同问题的答案。 - Zachary J Rollyson
3
非常糟糕的想法。当这个人决定让他的朋友看到他所做的事情,并将路由器端口转发时,这会给Apache访问你整个硬盘的权限。如果你被黑客攻击,这就是灾难的自由通行证。 - RiggsFolly
解决我的本地服务器问题,如果你不喜欢在httpd.conf中使用“Require all granted”,那么将设置项放入你的别名中。(我在我的别名配置文件中设置了这个) - caoglish
2
@RiggsFolly 有更好的建议吗? - Odys
@Odys 这取决于你想要实现什么? - RiggsFolly
@ImranKhan 最糟糕的答案。不要这样做,看看其他评论。 - RiggsFolly

13
所以以上的东西对我都没有用。除了这个: 编辑httpd.conf, 找到这一行。
Listen 80 

并更改为

listen 0.0.0.0:80 

如果您正在使用Windows 8,那么这与使用IPv6而不是IPv4有关。


这对我来说是解决方案,在尝试了以上所有方法和更多方法后。谢谢。 - 4Dev
1
@4Dev 那么你的问题可能是你的 HOSTS 文件中没有这一行 ::1 localhost。如果浏览器尝试使用 IPV6 网络,现在它们越来越多地这样做,这是必需的。listen 0.0.0.0:80 只是告诉 Apache 仅在 IPV4 网络上进行监听。 - RiggsFolly
太好了。完美地运行了。非常感谢。 - Sumith Harshan

9

请前往C:\wamp\alias。 打开文件phpmyadmin.conf并添加以下内容:

Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from MACHINE_IP

2
我认为 Allow Override 应该是 AllowOverride - D.Tate

7

需要更改以下文件 \bin\apache\apache2.2.22\conf\httpd.conf


Replace Listen 80 with Listen 0.0.0.0:80

替换
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

随着
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>

替换

在线离线标签 - 请勿删除

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

请不要删除onlineoffline标签

在线离线标签 - 不要删除

Order Deny,Allow
Allow from all
Allow from 127.0.0.1

在 \wamp\alias\phpmyadmin.conf 文件中,替换


<Directory "c:/wamp/apps/phpmyadmin3.4.10.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

使用

<Directory "c:/wamp/apps/phpmyadmin3.4.10.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
</Directory>

在Windows本地主机上测试。 注意:还请考虑RigsFolly的评论。


永远不要修改以 <Directory /> 开头的部分为 Require all granted,这会允许一个被黑客攻击的 Apache 访问整个磁盘!!! - RiggsFolly
@RiggsFolly 你的意思是这个 c:/wamp/apps/phpmyadmin3.4.10.1/ 不应该被添加在 <Directory/> 标签中吗? - Mukesh
不!以“<Directory />”开头的部分控制着安装Apache的驱动器根目录的访问权限。使用Apache的标准做法是将所有内容锁定,然后仅允许在需要时进行访问。 - RiggsFolly
@RiggsFolly 抱歉,我不太明白,请您详细说明或在评论中添加代码。 - Mukesh
1
你的回答中这部分 <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>,你绝不能设置为 Allow from all - RiggsFolly
好的,我会尝试找到正确的方法并更新答案。 - Mukesh

5
对于带有 Apache 2.4.2 的 WampServer 2.2,我最终得到了以下内容:
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local

3
为了解决这个问题,我打开了 httpd.conf 文件并修改了以下行:
Allow from 127.0.0.1

to:

Allow from 127.0.0.1 ::1

2
确保 Skype 没有在运行。Skype 也会导致这个问题。 - tharindu_DG

2
我遇到了这个问题。
Forbidden You don't have permission to access /phpmyadmin/ on this server

以下是关于此事的帮助:

首先,请确认你已经安装了全新的wamp或替换了现有的wamp。如果是全新安装,则不存在问题。如若是现有安装,请按照以下步骤进行操作。

  1. 打开wamp\bin\mysql目录
  2. 检查该目录下是否存在另一个名称不同的mysql文件夹,如果有,请删除它。
  3. 进入剩余的mysql文件夹并删除重复的文件。
  4. 再次启动wamp服务器即可。

完全没有必要。Wamp旨在允许您在同一系统上拥有多个Apache/Php/Mysql版本,并在它们之间切换。请参见使用Listen 0.0.0.0:80的答案,使Apache仅在IPV4上侦听。 - RiggsFolly

2
只需在wamp / alias / phpmyadmin.conf中添加以下行:
Allow from ::1
根据您的phpmyadmin版本,它将类似于以下内容。
<Directory "c:/wamp/apps/phpmyadmin3.5.1/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
    Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
</Directory> 

1
如果可能的话,请卸载wamp,然后以管理员身份运行安装程序,然后像这样更改你的mysql.conf文件。
<Directory "c:/wamp/apps/phpmyadmin3.5.1/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Allow,Deny
    Allow from all
    Allow from all
</Directory>

注意:在我以管理员身份重新安装之前,上述解决方案对我无效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接