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 中,它被设置为只需使用 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<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 是最后一个</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>
【讨论】:
它工作正常。非常感谢。【参考方案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/。”