ChatGPT解决这个技术问题 Extra ChatGPT

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

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

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

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

A
Akhil Thayyil

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 地址。修复:只需从 ::1 添加 Allow - 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
P
Peter Mortensen

您只需检查您的 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 设置 > 检查菜单项:在线/离线,当您现在左键单击图标时,“在线”选项将可用
K
Kyle Cureau

如果您在 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 中,它被设置为 并且一直有效,直到我需要将文件夹更改为我的保管箱文件夹。为什么设置为 ?但是,此解决方案效果很好。
P
Peter Mortensen

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

系统:

Windows 7的

wampserver2.2d-x64

这有效:

http://127.0.0.1/phpmyadmin/

这个失败了:

http://localhost/phpmyadmin/

原因是因为 localhost 被解析为 IPv6 地址,而 wamp 默认配置仅允许 IPv4 环回地址。
P
Peter Mortensen

我只是有同样的问题。事实证明,我安装的 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<1ms。看来我的 Win7 机器正在使用 IPv6 地址解析 localhost。你的解决方案成功了。我同意,这可能应该是公认的答案。
惊人的!!!!我在我的 Mac (MAMP) 上遇到了同样的问题,现在它可以工作了!你拯救了我的一天,伙计!:D
httpd.conf 中对我不起作用,相反,当我在 phpmyadmin.conf 中做同样的事情时它会起作用!
我认为应该编辑这个答案,因为要编辑的正确文件是 wamp/alias/phpmyadmin.conf,而不是 httpd.conf
m
matalo

如果您使用的是 Windows 7 或 8,那么 Apache 可能会看到来自“::1”的连接,它相当于 127.0.0.1 的 IPv6。

您可以通过查看 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)
P
Peter Mortensen

改变

Listen 80 

Listen 127.0.0.1:80 

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


j
jamesTheProgrammer

我发现使用 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
C
CairoCoder

对于 Apache 2.4.2:

在 httpd.conf 中:

改变

Require local

Require all granted

兄弟,你成就了我的一天:)
M
MikeL

我想在线运行我的服务器,而不是在 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 --> Require all granted”文本的部分),我有“Require local”选项,我将其更改为“要求全部授予”重新启动 WAMP 的所有服务

同样,它对我有用,从这个线程我了解到,在很多情况下您可能会收到上述错误消息,因此如果我的不起作用,请尝试其他解决方案。

祝你好运。

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


先生,您解决了我整个周末都在试图解决的问题。谢谢!
P
Prabhagaran

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中的所有服务。

希望能帮助到你..


P
Peter Mortensen

我之前解决了这个问题。发生这种情况的原因有很多,因此您可以使用部分或全部后续步骤(使用任何文本编辑器打开提到的文件,例如 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>

将允许从 127.0.0.1 更改为全部允许。

您可以删除 Deny from all 或通过在行首添加 # 将其注释掉,但您必须确保 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>

它正在工作。非常感谢。
U
Umesh Patil

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

享受 :)


E
Edu

如果 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 步)就足够了。这不是缺陷,而是设计使然。有关最佳做法,请参阅 stackoverflow.com/questions/36810669/…
I
Ilce MKD

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


o
obesechicken13

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


P
Peter Mortensen

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

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


D
Daniel

只需编辑文件“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/ 不是文件,并且这个问题已经有一个公认的解决方案。请尝试通过提供答案来避免将问题“颠倒”到顶部,除非该问题尚未标记为已解决,或者您找到了解决该问题的更好的替代方法:)
没有一个解决方案对我有用。我编辑了文件的正确路径,谢谢你的提示。
m
madx

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


P
Peter Mortensen

就我而言,问题是在 phpmyadmin.conf 文件中错误地指定了 phpMyAdmin 版本。您可以检查:

转到 wamp/apps/phpmyadmin3.xx:注意文件名 - 您当前使用的版本是什么?打开文件 wamp/alias/phpmyadmin.conf: Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Allow from all

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

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


I
Ismael ozil

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


P
Promise Preston

我有一个类似的问题。我的 apache 配置文件如下所示:

<VirtualHost *:80>
  ServerName  mywebsite.com
  ServerAlias www.mywebsite.com
  DocumentRoot "C:/wamp64/www/vtigercrm"
  <Directory "/"
    Options +Indexes +Includes +FollowSymLinks +MultiViews
      AllowOverride All
      Require all granted
  </Directory>
</VirtualHost>

这是我修复它的方法:

问题是我将 Directory 指定为 "/"(即我的服务器上的根文件夹)而不是 "C:/wamp64/www/vtigercrm/",这是我的网站文件所在的位置。

我这样修改了我的配置:

<VirtualHost *:80>
  ServerName  mywebsite.com
  ServerAlias www.mywebsite.com
  DocumentRoot "C:/wamp64/www/vtigercrm"
  <Directory "C:/wamp64/www/myvtigercrm/"
    Options +Indexes +Includes +FollowSymLinks +MultiViews
      AllowOverride All
      Require all granted
  </Directory>
</VirtualHost>

一切正常。

这就是我希望这会有所帮助


L
Long Dao

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

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


a
aspirin

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

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


P
Peter Mortensen

我试图设置我的密码......这就是我被本地主机锁定的原因。他们应该解决这个问题...

无论如何,小心随机建议。它们都可能起作用,也可能不起作用。但是一些建议会进一步将您拒之门外。对我有用的那个:

在地址栏中键入“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)。我想知道它需要什么才能重新访问本地主机。


R
Refaat

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


O
ObiVanKaPudji

检查您是否以 root 或具有特权的用户身份登录。可以肯定的是,注销并使用 root/no-password 再次登录。


a
aeroson

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


P
Peter Mortensen

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

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

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


P
Peter Mortensen

我有同样的问题。 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

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅