我是 WAMP 的新手,我今天刚刚安装了它。
设置进行得很顺利,本地主机似乎可以工作,但是当我尝试访问 phpMyAdmin 时,我收到此错误:
Forbidden 您无权访问此服务器上的 /phpmyadmin/。
为什么我在使用 phpMyAdmin 时会出现此权限访问错误?
我正在使用 Windows 7。
Allow from all
会将数据库向公众开放。真正的问题是 WAMP 绑定到您的 Windows 版本上的 IPv6 地址。要修复,只需在 c:\wamp\alias\phpmyadmin.conf
<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
中添加 Allow from ::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 地址。修复:只需从 ::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 服务器。
您只需检查您的 WAMP 服务器是否在线。
要使您的 WAMP 服务器联机,请按照以下步骤操作。
转到您的 WAMP 服务器通知图标(在任务栏中)。单击 WAMP 服务器图标。从菜单中选择最后一个选项,即,Put Online 您的服务器将自动重新启动(仅在最新版本中)。否则,您必须手动重新启动服务器。
你已经完成了......
如果您在 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中所述
只需使用 127.0.0.1 而不是 localhost(无需更改配置文件)。
系统:
Windows 7的
wampserver2.2d-x64
这有效:
http://127.0.0.1/phpmyadmin/
这个失败了:
http://localhost/phpmyadmin/
我只是有同样的问题。事实证明,我安装的 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
行,否则您网络上的任何人都可以访问您的网络服务器(当然,除非这是您想要的)。
ping localhost
并得到了 Reply from ::1: time<1ms
。看来我的 Win7 机器正在使用 IPv6 地址解析 localhost。你的解决方案成功了。我同意,这可能应该是公认的答案。
httpd.conf
中对我不起作用,相反,当我在 phpmyadmin.conf
中做同样的事情时它会起作用!
wamp/alias/phpmyadmin.conf
,而不是 httpd.conf
如果您使用的是 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)
我发现使用 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 版
对于 Apache 2.4.2:
在 httpd.conf 中:
改变
Require local
至
Require all granted
我想在线运行我的服务器,而不是在 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 的所有服务
同样,它对我有用,从这个线程我了解到,在很多情况下您可能会收到上述错误消息,因此如果我的不起作用,请尝试其他解决方案。
祝你好运。
(我希望它对喜欢它的人有所帮助。我没有发现上述任何一种解决方案对我有用。)
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中的所有服务。
希望能帮助到你..
我之前解决了这个问题。发生这种情况的原因有很多,因此您可以使用部分或全部后续步骤(使用任何文本编辑器打开提到的文件,例如 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>
解决这个问题的简单方法是找到 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
享受 :)
如果 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服务
对于 Apache 2.4.2,解决方案是:在 httpd.conf 的第 265 行将 Require none 更改为 Require all grant。就这样。
我已经注释掉了主机文件中的 ::1 行。
即使我的域也面临同样的问题。如果我提供了一个 IP 地址,它就可以工作。但对于域名,它不是。
然后我检查了我的 DNS A record。该域有多个分配了不同 IP 地址的条目。我删除了所有错误的值,它起作用了。如果有人遇到类似问题,只需再列出一份清单。
只需编辑文件“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/
不是文件,并且这个问题已经有一个公认的解决方案。请尝试通过提供答案来避免将问题“颠倒”到顶部,除非该问题尚未标记为已解决,或者您找到了解决该问题的更好的替代方法:)
在 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 服务。
就我而言,问题是在 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/”)的文件名是否与您的实际文件名完全相同。
确保目录文件名绝对正确。
在你的 URL 中用 127.0.0.1 替换 localhost,对我有用。
我有一个类似的问题。我的 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>
一切正常。
这就是我希望这会有所帮助
我的设置发生的事情是 WAMP 绑定到 IPv6 地址(并且每次我重新安装 WAMP 时)。
为了解决这个问题,我进入 c:\wamp\alias\phpmyadmin.conf
并添加了行 Allow from ::1
原因可能是 127.0.0.1 未链接到 localhost。检查您的“C:\Windows\System32\drivers\etc\hosts”文件。它应该有这样的一行:
localhost 名称解析在 DNS 本身内处理。 127.0.0.1 本地主机
我试图设置我的密码......这就是我被本地主机锁定的原因。他们应该解决这个问题...
无论如何,小心随机建议。它们都可能起作用,也可能不起作用。但是一些建议会进一步将您拒之门外。对我有用的那个:
在地址栏中键入“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)。我想知道它需要什么才能重新访问本地主机。
在我的情况下,之前在我的电脑上安装了 WAMP 服务器,因此在安装新的服务器时,一些文件没有被覆盖,在这种情况下,您所要做的就是转到 C:\ 并删除整个 WAMP 文件夹,然后再次安装.
检查您是否以 root 或具有特权的用户身份登录。可以肯定的是,注销并使用 root/no-password 再次登录。
如果您的 WAMP 图标不是绿色,请尝试:左键单击 WAMP 图标 > MySQL > 服务 > 安装服务
所以所有这些答案基本上都是一样的。他们只解决一个想法:它必须与DNS相关。好吧,事实证明这不是唯一的部分。经过多次更改,我无法阅读下一个“相同答案”,希望它会如我所愿。
我的诀窍是调整我的 Apache 版本。我认为问题在于,其中一个配置文件的路径关闭了,或者由于 IIS 导致的安装可能被搞砸了 /
或 /
或 /etc
。因此,强制版本更改会重新解决从防火墙到错误配置的所有问题。
事实上,当我切换回 Apache 2.4.2 时,它又被禁止了。一旦我回到 Apache 2.4.4,它就会恢复。这排除了本地网络问题。我只是想指出这里的所有答案都是相同的,并且我已经能够通过更改 Apache 版本来消除禁忌。
我有同样的问题。 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
Allow from all
会将数据库向公众开放。Allow from ::1