【问题标题】:WAMP Server ERROR "Forbidden You don't have permission to access /phpmyadmin/ on this server."WAMP 服务器错误“禁止您无权访问此服务器上的 /phpmyadmin/。”
【发布时间】:2012-05-22 23:14:22
【问题描述】:

嗨,朋友们,我以前使用的是 XAMP 服务器,但是当我安装 joomla 模板时,它会产生很多错误。现在我安装了 WAMP,但问题是: 1.我可以用127.0.0.1访问,但是我不能用“localhost”访问。 2 当我访问 phpmyadmin 时出现此错误。

禁止您无权访问此服务器上的/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

【问题讨论】:

标签: php wamp


【解决方案1】:

comment 需要来自 httpd.conf 的本地

“#要求本地”

【讨论】:

    【解决方案2】:

    以上答案都不适合我,或者不安全的地方(正如一些人指出的那样,使用Allow from all 可以使您的文件和数据可供外界访问)。

    打开c:\wamp\alias\phpmyadmin.conf文件并更改

    Allow from 127.0.0.1
    

    Allow from 127.0.0.1  ::1
    

    解释:

    • 在大多数计算机系统上,localhost 解析为 IP 地址 127.0.0.1,这是最常用的 IPv4 环回地址,和 IPv6 环回地址 ::1(来源:https://en.wikipedia.org/wiki/Localhost )
    • 将名称 localhost 解析为一个或多个 IP 地址由操作系统的 hosts 文件中的以下几行配置:

      127.0.0.1    localhost
      ::1          localhost
      
    • 要查看您的主机文件,请转至c:\Windows\System32\drivers\etc\HOSTS

    • 注意上面的行被注释掉了:# localhost name resolution is handled within DNS itself.

    在我的机器上,在 Win7 上,我还注意到以下内容:

    • localhost\phpmyadmin 在 Chrome 上不工作,但在 IE11 上工作
    • 127.0.0.1\phpmyadmin 在 Chrome 上工作

    【讨论】:

      【解决方案3】:

      更改以下文件\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>
      

      替换

      onlineoffline 标签 - 不要删除

      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 的评论。

      【讨论】:

      • 永远不会&lt;Directory /&gt; 开始的部分修改为Require all granted 这允许被黑的Apache 访问整个磁盘!!!!!!
      • @RiggsFolly 你的意思是这个 c:/wamp/apps/phpmyadmin3.4.10.1/ 不应该添加到 标签中吗?
      • 不!以&lt;Directory /&gt; 开头的部分是控制对安装了 Apache 的驱动器根目录的访问的部分。 Apache 的标准做法,将所有内容锁定,然后仅在需要时允许访问
      • @RiggsFolly 抱歉,我没听懂,您能否详细说明或添加代码以发表评论。
      • 这部分答案&lt;Directory /&gt; Options FollowSymLinks AllowOverride None Order deny,allow Allow from all &lt;/Directory&gt;你永远不应该这样做Allow from all
      【解决方案4】:

      为了解决这个问题,我打开了httpd.conf 并更改了以下行:

      Allow from 127.0.0.1
      

      到:

      Allow from 127.0.0.1 ::1
      

      【讨论】:

      • 确保 Skype 没有运行。 Skype 也会导致此问题。
      【解决方案5】:

      我对@9​​87654321@ 文件中的新phpmyadmin4.0.4 进行了以下更改

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

      phpmyadmin.conf

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

      然后重启我的服务器。

      【讨论】:

      • 从不&lt;Directory /&gt; 开始的部分修改为Require all granted 允许被黑的 Apache 访问整个磁盘!!!!!!
      【解决方案6】:

      在您的 apache 配置文件中 (../bin/apachex.y.z/cong/httpd.conf)

      改变一下

      ...
      ...

      “要求本地” ===> “要求全部授予”
      目录>

      这允许其他电脑访问(读取)您的网络文件夹。

      【讨论】:

      • BAD SOLUTION 这将具有允许访问 phpmyadmin 的效果,因此您的所有数据库都可以访问任何 ip,即世界!将其保留为 Require local,如果您想允许从内部网络上的另一台 PC 访问,请添加类似 Require ip 192.168.0
      【解决方案7】:

      所以上面的东西都不适合我。除了这个: 编辑 httpd.conf,

      找线

      Listen 80 
      

      改成

      listen 0.0.0.0:80 
      

      如果您运行的是 Windows 8,则它与使用 ipv6 而不是 ipv4 有关

      【讨论】:

      • 在尝试了以上所有方法之后,这是我的解决方案。谢谢。
      • @4Dev 那么您的问题可能是您的 HOSTS 文件中没有 ::1 localhost 这一行。如果浏览器尝试使用他们现在越来越多的 IPV6 网络,则需要这样做。 listen 0.0.0.0:80 只是告诉 apache 只在 IPV4 网络上监听
      • 太棒了。工作完美。非常感谢。
      【解决方案8】:

      转到 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
      

      【讨论】:

      • 我认为Allow Override 应该是AllowOverride
      【解决方案9】:

      只需在 wamp/alias/phpmyadmin.conf 中添加以下行
      允许来自 ::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> 
      

      【讨论】:

        【解决方案10】:

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

        <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 服务器。

        【讨论】:

          【解决方案11】:

          如果可能卸载 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>
          

          不是:在我以管理员身份重新安装之前,上述解决方案对我不起作用

          【讨论】:

            【解决方案12】:

            对于带有 Apache 2.4.2 的 WampServer 2.2,我最终得到:

            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Require local
            

            【讨论】:

              【解决方案13】:

              转到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>
              

              问题解决了

              【讨论】:

              • “问题已解决”并添加了另一个更大的问题。现在 phpMyAdmin(数据库)是公开的,任何人都可以连接到它。干得好。
              • Allow from ::1 是 localhost 指向 IPv6 地址的系统上的正确解决方案。
              【解决方案14】:

              我遇到了这个问题

              Forbidden You don't have permission to access /phpmyadmin/ on this server
              

              一些帮助:

              首先检查您是否安装了新的 wamp 或更换现有的。如果它是新鲜的,没有问题,对于完成现有的安装。

              按照这些步骤操作。

              1. 打开你的 wamp\bin\mysql 目录
              2. 检查此文件夹中是否有另一个名称不同的mysql文件夹,如果存在则删除。
              3. 进入保留mysql文件夹,删除重复文件。
              4. 再次启动您的 wamp 服务器。 Wamp 将正常工作。

              【讨论】:

              • 完全没有必要。 Wamp 旨在允许您在同一系统上拥有多个版本的 Apache/Php/Mysql 并在它们之间切换。使用 Listen 0.0.0.0:80 查看答案以使 apache 仅在 IPV4 上侦听
              【解决方案15】:

              修改httpd.conf文件如下:

              来自

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

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

              【讨论】:

              • 感谢上帝,有人没有一遍又一遍地发布同一个问题的答案。
              • 非常糟糕的想法。当这个人决定他想让他的朋友看到​​他做了什么时,他会转发他的路由器。这使 Apache 可以访问您的整个磁盘,如果您被黑客入侵,它可以免费通向灾难。
              • 在本地服务器上解决我的问题,如果您不喜欢 httpd.conf 中的Require all granted,请将设置扔给您 Alias。(我在 Alias 的 conf 中设置了这个)
              • @RiggsFolly 有更好的建议吗?
              • @Odys 这取决于您要达到的目标?
              猜你喜欢
              • 2012-01-12
              • 2013-10-23
              • 2017-08-10
              • 2012-09-12
              • 2014-06-07
              相关资源
              最近更新 更多