4

我试图为家庭开发设置 Xampp。它安装正确,我可以访问 xampp 页面,如演示、安全、状态......甚至使用 phytin-gui 来启动和停止服务器。

但是,当使用“ http://localhost/phpmyadmin ”访问 phpMyAdmin 时,我得到下一个错误:

Access forbidden!

New XAMPP security concept:

Access to the requested directory is only available from the local network.

This setting can be configured in the file "httpd-xampp.conf".

我检查了我的 httpd-xampp.conf 并且似乎是正确的。我试图将拒绝全部更改为允许全部但不起作用。

我的主机文件将 localhost 指向 127.0.0.1,这是访问所有 xampp 文件的预期目标。

我在 ubuntu 12.04 机器上运行 XAMPP 1.8.1

有同样问题的人吗?我失去了将近 2 小时的谷歌搜索,但我发现的所有结果是,当尝试从其他网络或机器访问服务器时会发生此错误。但对我来说,情况是我直接在服务器上工作,所以它假设我可以默认访问 phpMyAdmin。

我的 httpd-xampp.conf

#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Deny from all
    Allow from ::1 127.0.0.0/8 \
        fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
        fe80::/10 169.254.0.0/16

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
4

4 回答 4

6

/opt/lampp/etc/extra如果您在 下安装了 XAMPP ,请转到目录/opt,然后编辑httpd-xampp.conf以添加Require all granted,如下所示:

# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
    AllowOverride AuthConfig Limit
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

您可能必须通过运行重新启动 LAMPP 服务器/opt/lampp/lampp restart

于 2012-10-28T02:56:38.410 回答
2

我也在 XAMPP 自己的论坛中发现了这个问题。提到了Require all granted答案,但这无条件地授予访问权限。该线程继续提供更好的解决方案

只需更新您的 httpd-xampp.conf。将结尾替换为:

#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    <RequireAny>
        Require ip ::1 127.0.0.0/8 \
        fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
        fe80::/10 169.254.0.0/16
    </RequireAny>
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

然后重启你的lampp: sudo /opt/lampp/lampp restart

参考:http ://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require

于 2013-05-13T12:20:27.223 回答
0

我通过创建一个新的虚拟主机来解决这个问题phpmyadmin

将以下内容附加到C:/xampp/apache/conf/httpd.conf

NameVirtualHost phpmyadmin.local

<VirtualHost phpmyadmin.local>
  ServerName phpmyadmin.local
  DocumentRoot "C:/xampp/htdocs/phpmyadmin"
  <Directory "C:/xampp/htdocs/phpmyadmin">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

将 更改为DocumentRoot/Directory安装版本的路径phpmyadmin

在文本编辑器中打开C:\Windows\System32\drivers\etc\hosts文件并添加以下行:

127.0.0.1     phpmyadmin.local

然后保存主机文件并重新启动xampp

https://stackoverflow.com/a/16617319/2395363

于 2013-05-17T22:02:22.857 回答
0

此答案适用于 XAMPP 1.8.2[PHP: 5.4.25]

只需在 Require local 下面的 Require local 之前加上 # 标记,重要的是,在 xampp 控制面板中停止并启动 Apache。就是这样,它肯定可以工作

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
       #Require local

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
于 2014-03-11T09:26:54.090 回答