php - 当我尝试打开 phpmyadmin 时出现错误 403。我该怎么做才能纠正它?

标签 php linux phpmyadmin xampp

当我尝试打开 localhost/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".

If you think this is a server error, please contact the webmaster.

Error 403

这是为什么呢?我打开了 httpd-xampp.conf 文件,但我不知道该做什么。

这是完整的 httpd-xampp.conf 文件:

<IfDefine PHP4>
LoadModule php4_module        modules/libphp4.so
</IfDefine>
<IfDefine PHP5>
LoadModule php5_module        modules/libphp5.so
</IfDefine>
# Disabled in XAMPP 1.8.0-beta2 because of current incompatibilities with Apache 2.4
# LoadModule perl_module        modules/mod_perl.so


Alias /phpmyadmin "/opt/lampp/phpmyadmin"
Alias /phpsqliteadmin "/opt/lampp/phpsqliteadmin"

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

<Directory "/opt/lampp/phpsqliteadmin">
    AllowOverride AuthConfig Limit
    Order allow,deny
    Allow from all
</Directory>

# since LAMPP 1.0RC1
AddType application/x-httpd-php .php .php3 .php4

XBitHack on

# since 0.9.8 we've mod_perl
<IfModule mod_perl.c>
    AddHandler perl-script .pl
    PerlHandler ModPerl::PerlRunPrefork
    PerlOptions +ParseHeaders
    PerlSendHeader On
</IfModule>

# demo for mod_perl responsehandler
#PerlModule Apache::CurrentTime
#<Location /time>
#      SetHandler modperl
#      PerlResponseHandler Apache::CurrentTime
#</Location>

# AcceptMutex sysvsem is default but on some systems we need this
# thanks to jeff ort for this hint
#AcceptMutex flock
#LockFile /opt/lampp/logs/accept.lock

# this makes mod_dbd happy - oswald, 02aug06
# mod_dbd doesn't work in Apache 2.2.3: getting always heaps of "glibc detected *** corrupted double-linked list" on shutdown - oswald, 10sep06
#DBDriver sqlite3

#
# 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>

最佳答案

看起来这部分是您的问题,您的 IP 地址/IP 范围不能在允许的 IP 列表中

# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Deny from all
    # The line below this comment!
    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>

如果这是一个开发环境,那么以下就足够了:

# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Allow from all

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

否则,只需将您的 IP 范围添加到允许的部分 :)

编辑:我应该把评论中的答案放在这里,这样人们可以更容易地看到它:

"Alright, try adding Require all granted on the line after the Allow from all line in the section."

关于php - 当我尝试打开 phpmyadmin 时出现错误 403。我该怎么做才能纠正它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15406985/

相关文章:

php - 从另一个表中的值填充表

php - 如何在 php 中划分系列以创建用于 google 图表的 json 表

c - 在共享库中获取 undefined reference

php - 如何配对那些数据库行?

php - PhpMyAdmin 能够处理大量数据吗?

php - 将大字符串拆分成数组,但拆分点不能打断标签

php - 如何在 php 中使用 if else 语句将每隔一个数字替换为另一个数字?

python - linux在python中尽早检测系统关闭

linux - 谁能推荐交叉源代码引用工具?

php - 自动后端生成器