【问题标题】:WAMP error: Forbidden You don't have permission to access /phpmyadmin/ on this serverWAMP 错误:禁止您无权访问此服务器上的 /phpmyadmin/
【发布时间】: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

标签: permissions wamp


【解决方案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 服务器上线,请按照以下步骤操作。

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

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

【讨论】:

  • “仅最新版本”很快就会过时。您在 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)。对我有用的是:

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

        【讨论】:

        【解决方案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 版本。你可以检查一下:

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

                2. 打开文件 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 文件中有一个“全部拒绝”。如果没有其他方法,请也检查那里。

                                    【讨论】:

                                      猜你喜欢
                                      • 2012-05-22
                                      • 2013-10-23
                                      • 2012-09-12
                                      • 2017-08-10
                                      • 2014-06-07
                                      相关资源
                                      最近更新 更多