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

Posted

技术标签:

【中文标题】WAMP 错误:禁止您无权访问此服务器上的 /phpmyadmin/【英文标题】:WAMP error: Forbidden You don't have permission to access /phpmyadmin/ on this server 【发布时间】:2012-01-12 02:39:45 【问题描述】:

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

设置进行得很顺利,本地主机似乎可以工作,但是当我尝试访问 phpMyAdmin 时出现此错误:

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

为什么我在使用 phpMyAdmin 时会出现此权限访问错误?

我使用的是 Windows 7。

【问题讨论】:

小心接受的答案,WAMP 的 phpmyadmin 默认配置为允许没有密码的 root。 Allow from all 将向公众开放数据库。真正的问题是 WAMP 绑定到您的 Windows 版本上的 IPv6 地址。要修复,只需在 c:\wamp\alias\phpmyadmin.conf <Directory "c:/wamp/apps/phpmyadmin3.4.5/"> 中添加 Allow from ::1 奇怪的是,同样的问题,给予或接受,是一个protected as a community wiki here 【参考方案1】:

c:\wamp\alias\phpmyadmin.conf的文件内容改为如下。

注意:出于安全目的,您应该设置 Allow 指令以允许从本地计算机访问。指令Allow from all 是不安全的,应该限制在您的本地机器上。

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

我的 WAMP 安装在 c:\wamp 文件夹中。根据您的安装进行更改。

以前是这样的:

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

Apache 2.2 及更高版本的现代版本将寻找 IPv6 环回而不是 IPv4 环回(您的本地主机)。

真正的问题是 wamp 绑定到 IPv6 地址。修复: 只需添加Allow from ::1 - Tiberiu-Ionuț Stan

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

这将只允许本地计算机访问 Apache 的本地应用程序。

进行这些更改后重新启动您的 Apache 服务器。

【讨论】:

以前这将是 Deny from all Allow from 127.0.0.1 修改后还要重启你的 apache 服务器服务 取决于您的 apache 版本。 apache > 2.4.x,你需要一个不同的配置。请看下面我的回答 默认设置为 127.0.0.1 的原因似乎是因为那是 localhost ipv4 地址。出于某种原因,即使您在本地主机上,phpmyadmin 也不允许您进入。然后您允许任何用户访问。除非您将 wamp 网站放到网上,否则这似乎不是一个安全漏洞。不过我可能错了——完全是新手。实际上,是的,请阅读其余部分。不要进行上述修复。 WAMP 的 phpmyadmin 配置为允许没有密码的 root。 Allow from all 将向公众开放数据库。 真正的问题是 wamp 绑定到 IPv6 地址。修复:只需添加 Allow from ::1【参考方案2】:

您只需检查您的WAMP 服务器是否在线。

要将您的 WAMP 服务器上线,请按照以下步骤操作。

    转到您的 WAMP 服务器通知图标(在任务栏中)。 单击 WAMP 服务器图标。 从菜单中选择最后一个选项,即Put Online 您的服务器将自动重新启动(仅在最新版本中)。否则,您必须手动重新启动服务器。

你已经完成了......

【讨论】:

“仅最新版本”很快就会过时。您在 IT 世界中,所以请提及版本号。另外,这对我根本不起作用。始终在线,以管理员身份运行。更糟糕的是,有些域使用虚拟主机工作,但甚至无法访问 localhost 或 127.0.0.1,或者使用 */phpmyadmin :s 太奇怪了。这是在Win8上。可能与还安装了 Visual Studio 2012 Ultimate 64 位版本有关(其中包括 IIS 8,将更新) 天哪,我觉得自己很愚蠢。我花了很长时间搞砸“要求所有授予”等。谢谢。 Put Online 选项现在不可用。要启用它,请右键单击 Wamp 图标 > Wamp 设置 > 检查菜单项:在线/离线,当您现在左键单击图标时,“在线”选项将可用【参考方案3】:

如果您在 Apache 2.4.2 或更高版本中使用 WAMP,则需要使用 Require all 而不是 Allow 并删除 Order Deny,Allow

<Directory "f:/Projects/myproject/www/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Require all granted
</Directory>

*如blog post中所述

【讨论】:

Forbidden 您无权访问此服务器上的/phpmyadmin/。 你的答案应该是最好的答案!像魅力一样工作:) 这对我有用。 WAMP 服务器 2.2;阿帕奇 2.4.2;视窗 8。 谢谢,这对我有用(与此处的其他答案不同,包括已接受的答案) 在我的 WAMP 中,它被设置为 并且一直有效,直到我需要将文件夹更改为我的保管箱文件夹。为什么设置为 ?但是,此解决方案效果很好。【参考方案4】:

只需使用 127.0.0.1 代替 localhost(无需更改配置文件)。

系统:

Windows 7 wampserver2.2d-x64

这行得通:

http://127.0.0.1/phpmyadmin/

这个失败了:

http://localhost/phpmyadmin/

【讨论】:

为什么是因为localhost被解析为IPv6地址,而wamp默认配置只允许IPv4环回地址。【参考方案5】:

我也遇到了同样的问题。原来我安装的Windows使用的是IPv6地址::1而不是127.0.0.1。为了解决这个问题,我打开了httpd.conf 并更改了以下行:

Allow from 127.0.0.1

到:

Allow from 127.0.0.1 ::1

现在我可以通过localhost 访问服务器了。无论您做什么,都不要删除上面的 Deny from all from 行,否则您网络上的任何人都可以访问您的网络服务器(当然,除非您想要这样做)。

【讨论】:

顺便说一句,我还必须对所有别名进行更改。要编辑别名,请转到:“[wamp icon]->Apache->别名目录->[alias-url]->编辑别名” 我在我的 cmd 终端上执行了ping localhost,得到了Reply from ::1: time&lt;1ms。看来我的 Win7 机器正在使用 IPv6 地址解析 localhost。你的解决方案成功了。我同意,这应该是公认的答案。 太棒了!!!!我在我的 Mac (MAMP) 上遇到了同样的问题,现在它可以工作了!你拯救了我的一天,伙计!:D httpd.conf 中对我不起作用,相反,当我在phpmyadmin.conf 中做同样的事情时它会起作用! 我认为应该编辑这个答案,因为要编辑的正确文件是wamp/alias/phpmyadmin.conf,而不是httpd.conf【参考方案6】:

如果您使用的是 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 的建议)

【讨论】:

谢谢。这应该是最重要的评论。你解释问题,解决问题,不要给某人的服务器带来巨大的安全漏洞。 我已经将解决​​方案作为单独的附加行。我使用“Allow from 127.0.0.1下一行Allow from ::1”。以防万一它切换回 IPv4(因为说我禁用了 IPv6)【参考方案7】:

改变

Listen 80 

Listen 127.0.0.1:80 

在您的 httpd.conf 文件中。它将Apache 绑定到特定的IP address 和端口。

【讨论】:

【参考方案8】:

我发现使用 localhost 无法正常工作以允许从服务器进行本地访问。我必须使用 127.0.0.1。

在 phpmyadmin.conf 中这不起作用:

Deny from all
Allow from localhost

这确实有效:

Deny from all
Allow from 127.0.0.1

我正在使用 WampServer 2.2 版

【讨论】:

这可能是因为您没有正确配置的 HOSTS 文件,正确设置它,您将能够使用 localhost【参考方案9】:

对于 Apache 2.4.2:

在 httpd.conf 中:

改变

Require local

Require all granted

【讨论】:

兄弟,你成就了我的一天 :)【参考方案10】:

我想在线而不是在 localhost / 127.0.0.1 下运行我的服务器,并且收到了禁止消息。我在 Windows 7 64 位上运行 WAMP 2.2 服务器 (Apache 2.4.2 / PHP 5.4.3 / mysql 5.5.24)。对我有用的是:

    按菜单中的启动 WAMP 图标 选择 Apache 文件夹 选择文件httpd.conf 在“目录”选项卡部分(带有“# Online --> 要求所有授权”文本的部分)下,我将“需要本地”选项更改为“要求所有授权” 重启 WAMP 的所有服务

再次,它对我有用,从这个帖子我了解到,在很多情况下您可能会收到上述错误消息,所以如果我的不起作用,请尝试其他解决方案。

祝你好运。

(我希望它能帮助像它帮助我的人。我没有发现上述任何一种解决方案对我有用。)

【讨论】:

您先生,解决了我整个周末都在试图解决的问题。谢谢!【参考方案11】:

1.更改D:\wamp\bin\apache\apache2.4.9\conf\httpd.conf靠近279行

Require local 

 into 

Require all granted

2.从现有的 D:\wamp\alias\phpmyadmin.conf 中像这样更改

   <Directory "d:/wamp/apps/phpmyadmin4.1.14/">
       Options Indexes FollowSymLinks MultiViews
       AllowOverride all
       Require all granted
       Order Deny,Allow
       Allow from all
   </Directory>

3.点击在wamp中重启所有服务

4.点击wamp中的上线

5.再次点击重启所有服务在wamp中。

希望对你有帮助..

【讨论】:

【参考方案12】:

我以前解决过这个问题。发生这种情况的原因有很多,因此您可以使用部分或全部后续步骤(使用任何文本编辑器打开提到的文件,例如 Notepad++)。

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

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

Allow 从 127.0.0.1 更改为 Allow from all

您可以删除 Deny from all 或通过在行首添加 # 将其注释掉,但您必须确保 Allow from all 是最后一个&lt;/Directory&gt; 之前的代码行。

注意:您的版本可能与 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>

【讨论】:

它工作正常。非常感谢。【参考方案13】:

解决这个问题的简单方法是找到 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>

将“全部拒绝”更改为“全部允许”。

点击以下链接以更好地了解如何操作,

WAMP says Forbidden You don't have permission to access /phpmyadmin/ on this server Windows 7 or 8

享受:)

【讨论】:

【参考方案14】:

如果 WampServer 在安装的计算机上工作,但不能在您网络中的其他设备(例如:从您的手机)上运行,并显示“您无权访问此服务器。”请尝试以下操作。

1。 编辑 httpd-vhosts.conf (C:\wamp64\bin\apache\apache2.4.33\conf\extra\httpd-vhosts.conf),如下所示:

<Directory "$INSTALL_DIR/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
</Directory>

2。 编辑 phpmyadmin.conf (C:\wamp64\alias\phpmyadmin.conf),如下所示:

<Directory "d:/wamp64/apps/phpmyadmin4.7.9/">
    Options +Indexes +FollowSymLinks +MultiViews
    AllowOverride all
        Order Deny,Allow
        Allow from all
        Require all granted

3。 重启 WampServer 服务

【讨论】:

对我来说应用第 1 步(和第 3 步)就足够了。这不是缺陷,而是设计使然。有关最佳实践,请参阅 ***.com/questions/36810669/…【参考方案15】:

对于 Apache 2.4.2,解决方案是: 在第 265 行的 httpd.conf 中,将 Require none 更改为 Require all grant。 就是这样。

【讨论】:

【参考方案16】:

我已经注释掉了主机文件中的 ::1 行。

【讨论】:

【参考方案17】:

即使我的域也面临同样的问题。如果我提供了一个 IP 地址,它就可以工作。但有了域名就不行了。

然后我检查了我的DNS A record。该域有多个分配了不同 IP 地址的条目。我删除了所有错误的值,它起作用了。如果有人遇到类似问题,只需再添加一份检查清单。

【讨论】:

【参考方案18】:

只需编辑文件“c:\wamp\alias\phpmyadmin.conf”

喜欢这个

<Directory "C:/wamp64/apps/phpmyadmin4.5.5.1/">
    Options Indexes FollowSymLinks MultiViews

    AllowOverride All
    Require all granted
</Directory>

【讨论】:

C:/wamp64/apps/phpmyadmin4.5.5.1/ 不是文件,并且这个问题已经有一个公认的解决方案。请尝试通过提供答案来避免将问题“颠倒”到顶部,除非该问题尚未标记为已解决,或者您找到了解决该问题的更好的替代方法:) 没有一个解决方案对我有用。我修改了文件的正确路径,谢谢提示。【参考方案19】:

WAMP 3.1.4 x64 中,我解决了更新文件C:\wamp64\alias\phpmyadmin.conf 的问题:

Alias /phpmyadmin "c:/wamp64/apps/phpmyadmin4.8.3/"

<Directory "c:/wamp64/apps/phpmyadmin4.8.3/">
    Options +Indexes +FollowSymLinks +MultiViews
  AllowOverride all
  <ifDefine APACHE24>
        Require local
    </ifDefine>
    <ifDefine !APACHE24>
        Order Deny,Allow
    Deny from all
    Allow from localhost ::1 127.0.0.1
    </ifDefine>

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

到这里:

Alias /phpmyadmin "c:/wamp64/apps/phpmyadmin4.8.3/"

<Directory "c:/wamp64/apps/phpmyadmin4.8.3/">
    Options +Indexes +FollowSymLinks +MultiViews
  AllowOverride all
    Require all granted

# To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

最后重新启动所有 WAMP 服务。

【讨论】:

【参考方案20】:

在我的情况下,问题是在 phpmyadmin.conf 文件中错误地指定了 phpMyAdmin 版本。你可以检查一下:

    转到 wamp/apps/phpmyadmin3.x.x:注意文件名 - 您当前使用的是什么版本?

    打开文件 wamp/alias/phpmyadmin.conf:

    选项索引 FollowSymLinks MultiViews 允许覆盖所有 订单拒绝,允许 允许所有人

检查第一行(目录“c:/wamp/apps/phpmyadmin3.x.x/”)的文件名是否与你的实际文件名完全一致。

确保目录文件名绝对正确。

【讨论】:

【参考方案21】:

在你的 URL 中用 127.0.0.1 替换 localhost,对我有用。

【讨论】:

【参考方案22】:

我的设置发生的情况是 WAMP 绑定到 IPv6 地址(并​​且每次我重新安装 WAMP 时)。

为了解决这个问题,我进入c:\wamp\alias\phpmyadmin.conf 并添加了Allow from ::1 这一行

【讨论】:

【参考方案23】:

原因可能是 127.0.0.1 没有链接到 localhost。检查您的“C:\Windows\System32\drivers\etc\hosts”文件。它应该有这样的一行:

# localhost 名称解析在 DNS 本身内处理。 127.0.0.1 本地主机

【讨论】:

【参考方案24】:

我试图设置我的密码...这就是我被 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)。我想知道它需要什么才能重新访问本地主机。

【讨论】:

【参考方案25】:

在我的情况下,之前在我的电脑上安装了一个 WAMP 服务器,因此在安装新服务器时,一些文件没有被覆盖,在这种情况下,您所要做的就是转到 C:\ 并删除整个 WAMP 文件夹,然后重新安装。

【讨论】:

【参考方案26】:

检查您是否以 root 或具有特权的用户身份登录。为确定起见,请注销并使用 root/无密码再次登录。

【讨论】:

【参考方案27】:

如果您的 WAMP 图标不是绿色,请尝试: 左键单击 WAMP 图标 > MySQL > 服务 > 安装服务

【讨论】:

【参考方案28】:

所以所有这些答案基本上都是一样的。他们只解决一个想法:它必须与DNS 相关。好吧,事实证明这不是唯一的部分。经过多次更改后,我无法阅读下一个“相同的答案”,希望它会如我所愿。

我的诀窍是调整我的Apache 版本。我认为问题是,其中一个配置文件关闭了路径,或者由于IIS 而导致的安装可能已经搞砸了///etc。因此,强制版本更改会重新解决从防火墙到错误配置的所有问题。

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

【讨论】:

【参考方案29】:

我遇到了同样的问题。 hosts file 已损坏! 有:

localhos 127.0.0.1

localhost 127.0.0.1

localhos 127.0.0.1
localhos 127.0.0.1

结果是localhost没有定义。

解决方案:使用管理员权限编辑 hosts 文件,并仅更正一个条目:

localhost 127.0.0.1

【讨论】:

【参考方案30】:

在最新版本的 WAMP 中,我的.htaccess 文件中有一个“全部拒绝”。如果没有其他方法,请也检查那里。

【讨论】:

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

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

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

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

Apache:您无权访问此服务器上的 /

设置 vhost 后,您无权访问 Windows 7 上此服务器 WAMP 服务器上的 /

Symfony 应用程序 403 禁止错误:您无权访问此服务器上的 /