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


275

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

设置进行得很好,本地主机似乎正常运行,但是当我尝试访问phpMyAdmin时,出现此错误:

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

为什么用phpMyAdmin出现此权限访问错误?

我正在使用Windows 7。


57
请谨慎对待接受的答案,WAMP的phpmyadmin配置为默认情况下允许root用户登录且没有密码。Allow from all将向公众开放数据库。真正的问题是WAMP绑定到Windows版本上的IPv6地址。要修复只需添加Allow from ::1c:\wamp\alias\phpmyadmin.conf <Directory "c:/wamp/apps/phpmyadmin3.4.5/">
Tiberiu-Ionuț Stan

2
奇怪的是,这个同样的问题,无论是给予还是接受,在这里都受到社区Wiki
鲁芬

Answers:


368

将的文件内容更改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服务器。


1
以前,这是“从127.0.0.1起全部拒绝”。在修改后还要重新启动apache服务器服务
Akhil Thayyil 2011年

2
取决于您的apache版本。apache> 2.4.x,您需要其他配置。请在下面查看我的答案
凯尔(Kyle)2012年

似乎默认将其设置为127.0.0.1的原因是因为这是localhost ipv4地址。由于某些原因,即使您位于本地主机上,phpmyadmin也不允许您进入。然后,您允许任何用户获得访问权限。除非您将Wamp网站在线,否则这似乎不是一个安全漏洞。我可能是错的-完全是新手。实际上,是的,请阅读该线程的其余部分。不要做以上修复。
obesechicken13 2013年

3
WAMP的phpmyadmin配置为允许无密码的root用户。Allow from all将向公众开放数据库。
Tiberiu-Ionuț Stan

34
真正的问题是wamp绑定到IPv6地址。解决方法:只需添加Allow from ::1
Tiberiu-Ionuț Stan

137

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

要将WAMP服务器置于联机状态,请按照下列步骤操作。

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

你做完了...


4
“仅最新版本”将很快过时。您在IT世界中,因此请提及版本号。另外,这根本不适合我。始终在线,以管理员身份运行。更糟糕的是,有些域使用虚拟主机工作,但是甚至无法访问localhost或127.0.0.1,或者无法使用* / phpmyadmin:s奇怪。这是在Win8 btw上。可能与还安装了Visual Studio 2012 Ultimate 64位版本有关(其中包括IIS 8,将更新)
rkeet 2013年

1
天哪,我很傻。我花了好一阵子弄乱“要求所有被授予”等。谢谢。
John McCollum

“联机”选项现在不可用。要启用它,请右键单击“ Wamp图标”>“ Wamp设置”>“菜单”项:“联机/脱机”,当您现在单击鼠标左键时,“联机”选项将可用
Oush

117

如果您将WAMP与Apache 2.4.2或更高版本一起使用,则需要使用Require all代替Allow并删除Order Deny,Allow

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

*如本博客文章所述


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

您的答案应该是最好的答案!像魅力一样工作:)
Tohid 2013年

这对我有用。WAMP Server 2.2;Apache 2.4.2; Windows 8的
迈克尔Ĵ

谢谢,这对我有用(与其他答案不同,包括接受的答案)
Patrick Moore

在我的WAMP中,将其设置为<Directory />,直到我需要将文件夹更改为我的保管箱文件夹后,它才起作用。为什么将其设置为<Directory />?但是,此解决方案效果很好。
JensTörnell'15

41

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

系统:

  • Windows 7的
  • wampserver2.2d-x64

这有效:

http://127.0.0.1/phpmyadmin/

此失败:

http://localhost/phpmyadmin/

3
原因是因为将本地主机解析为IPv6地址,而wamp默认配置仅允许使用IPv4回送地址。
Sherbrow

35

我只是有同样的问题。原来,我的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上面的行,否则网络上的任何人都可以访问您的Web服务器(当然,除非您要这样做)。


顺便说一下,我还必须对所有别名进行更改。要编辑别名,请转到:“ [wamp图标]-> Apache-> Alias目录-> [alias-url]->编辑别名”
Micke 2012年

ping localhost在cmd终端上执行了命令Reply from ::1: time<1ms。看来我的Win7计算机正在使用IPv6地址解析本地主机。您的解决方案成功了。我同意,这可能是公认的答案。
克里斯(Chris)

太棒了!!!! 我在Mac(MAMP)上遇到了同样的问题,现在可以使用了!老兄,您救了我的一天!:D
drpelz 2013年

In httpd.conf对我不起作用,而是当我在phpmyadmin.conf其中执行相同操作时起作用!
阿迪尔2014年

1
我认为应该编辑此答案,因为要编辑的正确文件是wamp/alias/phpmyadmin.conf,而不是httpd.conf
bg17aw

21

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


1
谢谢。这应该是最重要的评论。您可以解释问题,解决问题,并且不会在某人的服务器上引入巨大的安全漏洞。
obesechicken13

1
我已经将解决​​方案作为一个单独的附加行。我用“ Allow from 127.0.0.1下一行Allow from ::1”。以防万一它切换回IPv4(因为我禁用了IPv6)
rkeet13年


8

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

在phpmyadmin.conf中,此操作无效:

Deny from all
Allow from localhost

这确实有效:

Deny from all
Allow from 127.0.0.1

我正在使用WampServer版本2.2


1
那可能是因为您没有正确配置的HOSTS文件,请正确设置该文件,然后您便可以使用localhost
RiggsFolly 2015年


7

我想在线运行服务器,而不是在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. 在“目录”选项卡部分(带有“#在线->要求全部授予”文本的部分)下,我具有“要求本地”选项,我将其更改为“要求全部授予”。
  5. 重新启动WAMP的所有服务

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

祝好运。

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


先生,您解决了一个问题,我整个周末都在努力解决。谢谢!
霍克

6

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

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.单击在线放置。

5.再次单击以重新启动 Wamp中的所有服务

希望能帮助到你..


4

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

确保存在“ 全部允许”且未过时。

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允许所有允许

您可以从全部中删除“拒绝”,也可以通过在行的开头添加#来注释掉它,但必须确保“ 全部允许”是紧接在代码的最后一行</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>

很好 非常感谢。
2014年

3

一个简单的解决方案是找到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表示禁止访问您无权在Windows 7或8服务器上访问/ phpmyadmin /

请享用 :)


3

如果WampServer在计算机上工作,则安装了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/…–
HyperActive,

2

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



2

甚至我的域名也面临同样的问题。如果我提供了IP地址,则它可以正常工作。但是使用域名却不是。

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


2

只需编辑文件“ 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/不是文件,并且这个问题已经有了可接受的解决方案。请尝试通过向他们提供答案来避免“碰到”问题,除非该问题尚未被标记为已解决,或者您找到了一种解决该问题的更好的替代方法:)
黑曜石时代

没有一种解决方案对我有用。我编辑了文件的正确路径,谢谢您的提示。
丹尼尔(Daniel)

2

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


1

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

  1. 转到wamp / apps / phpmyadmin3.xx:注意文件名-您当前正在使用哪个版本?

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

    选项索引FollowSymLinks MultiViews AllowOverride all拒绝,允许所有允许

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

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


0

我的设置所发生的是WAMP绑定到IPv6地址(以及以后每当我重新安装WAMP时)。

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


0

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

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


0

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

无论如何,请谨慎听取建议。它们都可能起作用,也可能不起作用。但是一些建议会把您进一步锁定。对我有用的那个:

输入“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)。我想知道重新访问本地主机需要什么。


0

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


0

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


0

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


0

因此,所有这些答案基本上都是相同的。他们只提出一个主意:必须与DNS相关。好吧,事实并非如此。经过许多更改后,我无法阅读下一个“相同答案”,希望它能如我所愿。

对我来说,诀窍是调整我的Apache版本。我认为这是要解决的问题,是其中一个配置文件无法正常运行,或者是由于IIS导致的安装可能已被搞乱了///etc。因此,强制进行版本更改会重新解决从防火墙到错误配置的所有问题。

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


0

我有同样的问题。在hosts文件已损坏!曾经有:

localhos 127.0.0.1

localhost 127.0.0.1

localhos 127.0.0.1
localhos 127.0.0.1

结果是localhost未定义。

解决方案:使用管理员权限编辑主机文件,并仅纠正一项:

localhost 127.0.0.1

0

在最新版本的WAMP中,我以某种方式在.htaccess文件中包含“全部拒绝” 。如果没有其他效果,请也检查一下。


0

就我而言,使用Wampserver 3 64位版本3.0.0,phpmyadmin.conf文件中phpmyadmin4.5.2目录的路径错误。由于某些原因,apps目录位于scripts目录内。所以我输入了正确的路径,如下所示。然后,您可能需要重新启动Apache并重新加载页面。

我变了:

Alias /phpmyadmin "C:/wamp64/apps/phpmyadmin4.5.2/"

<Directory "C:/wamp64/apps/phpmyadmin4.5.2/">
    Options Indexes FollowSymLinks MultiViews
  AllowOverride all
    Require local

# 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/scripts/apps/phpmyadmin4.5.2/"

<Directory "C:/wamp64/scripts/apps/phpmyadmin4.5.2/">
    Options Indexes FollowSymLinks MultiViews
  AllowOverride all
    Require local

# 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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.