我是WAMP的新手,今天才安装。

设置进行得很好,localhost似乎工作,但当我试图访问phpMyAdmin我得到这个错误:

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

为什么我得到这个权限访问错误与phpMyAdmin?

我用的是Windows 7。


当前回答

我以前解决过这个问题。它的发生有很多原因,所以你可以使用下面的部分或全部步骤(使用任何文本编辑器,如notepad++打开提到的文件)。

如果你在C:\ WAMP中安装WAMP

打开C:\wamp\bin\apache\apache2.2.22\conf\httpd.conf文件

注意:您使用的Apache版本可能与Apache 2.2.22不同,因此您需要编写它。

搜索:目录“C:/wamp/www/”你会发现类似的东西:

<Directory "C:/wamp/www/">
   # maybe there is some comments here ...
    AllowOverride all
    Order Allow,Deny
    Allow from all
</Directory>

确保Allow from all是存在的,而不是多余的。

2-打开文件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>

将“允许”从127.0.0.1更改为“允许”。

您可以从all中删除Deny,或者通过在行首添加#来注释它,但必须确保Allow from all是</Directory>之前的最后一行代码。

注意:phpMyAdmin的版本可能与3.5.1不同。

使用localhost/phpmyadmin而不是127.0.0.1/phpmyadmin:

打开文件C:\wamp\bin\apache\apache2.2.22\conf\extra\httpd-vhosts.conf。在它的末尾添加以下内容。

<VirtualHost *:80>
    DocumentRoot "C:/wamp/www"
    ServerName localhost
</VirtualHost>

其他回答

如果你在Windows 7或8上,那么Apache可能会看到来自“::1”的连接,这相当于IPv6的127.0.0.1。

您可以通过查看Apache访问日志(从WAMP菜单可访问)来检查这一点。

::1 - - [20/Dec/2012:21:35:04 +0000] "GET /phpmyadmin/ HTTP/1.1" 403 213

开头的::1是客户端的地址。最后的403是拒绝访问代码。

上面的答案将消除所有限制,并打开phpmyadmin到所有人,但如果你仍然想限制phpmyadmin到你的机器(通常是一个好主意),然后在行…

Allow from 127.0.0.1

..增加如下内容:

Allow from ::1

(编辑:添加来自Nukeface的建议)

只需使用127.0.0.1而不是localhost(不需要更改配置文件)。

系统:

Windows 7 wampserver2.2d-x64

如此:

http://127.0.0.1/phpmyadmin/

这一条失败了:

http://localhost/phpmyadmin/

将localhost替换为127.0.0.1在您的URL,为我工作。

我试着设置密码…这就是我被锁在localhost之外的原因。他们应该解决这个问题…

无论如何,要小心随机的建议。它们都可能有效,也可能无效。但有些建议会让你进一步远离。对我有用的是:

在地址栏中输入“http://127.0.0.1/phpmyadmin/”。

然后我发现http://localhost/phpmyadmin/也可以。

然而,在那之前,出于绝望,我……

我删除了文件,卸载了WAMP,删除了临时cookie,然后重新安装WAMP。它仍然不接受“localhost”(和我累了一天后试图访问WAMP),但127.0.0.1和localhost/phpmy…工作。我很高兴看到这一页回来了。然后重新开始工作。

如果你一直读到这里,这意味着你可能有大麻烦了……Windows 8, WAMP (wampserver 2.2)。我想知道它需要什么才能重新访问localhost。

所有这些答案基本上都是一样的。他们只有一个想法:它必须是DNS相关的。事实证明,这并不是唯一的部分。在多次修改之后,我读着下一个“相同的答案”,希望它能按照我的方式发展。

对我来说有用的是调整我的Apache版本。我认为问题是,其中一个配置文件得到了一个路径,或者由于IIS的原因,安装可能已经搞砸了/或/或/等等。因此,强制更改版本将重新调整从防火墙到坏配置的所有内容。

事实上,当我切换回Apache 2.4.2时,它又回到了被禁止的状态。我一回到Apache 2.4.4,它就回来了。这就排除了本地网络问题。我只是想指出,这里所有的答案都是一样的,我已经能够通过更改Apache版本来消除禁止。