为什么我在尝试访问 localhost/phpmyadmin 时突然收到 Access Forbidden Error 403?

Why am I suddenly recieving Access Forbidden Error 403 when trying to access localhost/phpmyadmin?

我使用 xampp 来开发我的 Wordpress 网站,3 个月前我建立了一个项目并访问 localhost/phpmyadmin 没有任何问题,并且从那以后一直致力于该项目。然而昨天我尝试建立一个新项目并访问 localhost/phpmyadmin 我收到了:

403 错误页面:"Access forbidden! You don't have permission to access the requested object. It is either read-protected or not readable by the server. If you think this is a server error, please contact the webmaster."

自 3 个月前以来,我没有更新 xampp 或更改任何内容,我的另一个 wordpress 项目运行良好,没有数据库问题。

我无法访问 localhost/phpmyadmin。

我正在使用 Apache/2.4.37 (Win32)、PHP/7.3.0、OpenSSL/1.1.1a、XAMPP 控制面板 v3.2.2

我试过编辑 C:/xampp/apache/conf/extra/httpd-xampp.conf 并在里面用 "request all garunteed" 和 "require all granted" 替换 "require local" 但都没有用。

我已经阅读了很多其他主题,但每个人的 httpd-xampp.conf 文件都包含一个 LocationMatch 标签,而我的没有。

这是我的 httpd-xampp.conf 文件:

#
# XAMPP settings
#

<IfModule env_module>
    SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
    SetEnv MYSQL_HOME "\xampp\mysql\bin"
    SetEnv OPENSSL_CONF "C:/xampp/apache/bin/openssl.cnf"
    SetEnv PHP_PEAR_SYSCONF_DIR "\xampp\php"
    SetEnv PHPRC "\xampp\php"
    SetEnv TMP "\xampp\tmp"
</IfModule>

#
# PHP-Module setup
#
LoadFile "C:/xampp/php/php7ts.dll"
LoadFile "C:/xampp/php/libpq.dll"
LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

#
# PHP-CGI setup
#
#<FilesMatch "\.php$">
#    SetHandler application/x-httpd-php-cgi
#</FilesMatch>
#<IfModule actions_module>
#    Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
#</IfModule>


<IfModule php7_module>
    PHPINIDir "C:/xampp/php"
</IfModule>

<IfModule mime_module>
    AddType text/html .php .phps
</IfModule>

ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
          Require all granted
    </Files>
</Directory>

<Directory "C:/xampp/cgi-bin">
    <FilesMatch "\.php$">
        SetHandler cgi-script
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler None
    </FilesMatch>
</Directory>

<Directory "C:/xampp/htdocs/xampp">
    <IfModule php7_module>
        <Files "status.php">
            php_admin_flag safe_mode off
        </Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

<IfModule alias_module>
    Alias /licenses "C:/xampp/licenses/"
    <Directory "C:/xampp/licenses">
        Options +Indexes
        <IfModule autoindex_color_module>
            DirectoryIndexTextColor  "#000000"
            DirectoryIndexBGColor "#f8e8a0"
            DirectoryIndexLinkColor "#bb3902"
            DirectoryIndexVLinkColor "#bb3902"
            DirectoryIndexALinkColor "#bb3902"
        </IfModule>
        Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
   </Directory>

    Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
    <Directory "C:/xampp/phpMyAdmin">
        AllowOverride AuthConfig
        Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>

    Alias /webalizer "C:/xampp/webalizer/"
    <Directory "C:/xampp/webalizer">
        <IfModule php7_module>
            <Files "webalizer.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
        Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>
</IfModule>

您可以尝试检查 "C:/xampp/phpMyAdmin/" 上的权限。也许你不小心更改了它们/所有者。

祝你好运。

我找到了解决方案,它与我的配置无关。由于某种原因,我的 phpmyadmin 文件夹已从 C:/xampp 移出到 C:/Data。 不知道如何,可能 Windows 更新? 无论如何,我通过转到 XAMPP 控制面板 > Apache > 配置 > phpMyAdmin 并单击它找到了它;它说在 C:/xampp/phpmyadmin 中找不到文件。 然后我在我的计算机上搜索 phpmyadmin 并在 C:/Data 中找到它。将其剪切并粘贴到 C:/xampp 中,瞧!一切都很完美。 image of xampp control panel showing steps