MacOS XAMPP 访问禁止错误 403 - 您无权访问请求的目录

MacOS XAMPP Access Forbidden Error 403 - You don't have permission to access the requested directory

我在 macOS 10.15 上有一些 PHP 网络应用 运行 XAMPP 7.4.1。 XAMPP 过去曾为我工作过。我把我的开发环境搞砸了,因为 32 位应用程序与 Catalina 乱七八糟,我的旧 XAMPP 安装没有打开。我备份了我的 VirtualHosts,但现在当我尝试访问我的网站之一时,出现以下错误。

Access forbidden!
You don't have permission to access the requested directory. There is 
either no index document or the directory is read-protected.

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

Error 403

我的虚拟主机如下所示:

# localhost
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
    <Directory "/Applications/XAMPP/xamppfiles/htdocs">
        Options Indexes FollowSymLinks Includes execCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

#####################
# PERSONAL PROJECTS #
#####################

# Dunsparce.net
<VirtualHost *:80>
    ServerName dunsparce.net
    DocumentRoot "/Users/danielschnoll/Documents/Projects/Dunsparce.net"
    <Directory "/Users/danielschnoll/Documents/Projects/Dunsparce.net">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "logs/dunsparce-error_log"
</VirtualHost>

我列出了更多 VirtualHosts,它们都遵循相同的格式。每一个都有 Require all granted,还有 Allow Override AllOptions... 行。就像我在 post 开头所说的那样,它们在过去都有效。我的 httpd.conf 文件中也有 # Include 未注释,但我很确定 Access Forbidden 错误与它完全无关。

有什么想法吗?

我不得不再次编辑 httpd.conf。有一个 User 组权限部分。默认情况下它说

User daemon
Group daemon

Userdaemon 更改为您的 macOS 用户名。对我来说,我的 User 组现在看起来像

User danielschnoll
Group daemon

如果您在升级到 MAC OS 后登陆这里,当我将 Web 文件移出 /Documents/ 文件夹后,我的问题就解决了。

如何修复 XAMPP 错误 403

第 1 步:在 XAMPP 应用程序中打开“卷”选项卡

首先,在您的 Mac 上打开 XAMPP 应用程序并导航到“卷”选项卡

第 2 步:点击 'Mount'

接下来,您要将 opt/lampp 目录挂载到您的计算机上。

第 3 步:点击 'Explore'

第 4 步:打开 'etc' 文件夹

通过点击探索你的应用程序应该已经打开了 lampp 目录。在其中您会看到许多文件夹和文件。单击名为 'etc'.

的那个

第 5 步:打开 'extra' 文件夹

第 6 步:打开 'httpd-xampp.conf' 文件

第 7 步:查找 AuthConfig 要求代码

在httpd-xampp.conf代码中搜索'phpmyadmin',找到以下部分:

httpd-xampp phpmyadmin 需要本地

第 8 步:将 'Require local' 更改为 'Require all granted'

这是修复 403 错误的步骤。更改代码行以将 'Require local' 替换为 'Require all granted'。然后保存你的文件。

第 9 步:重启所有服务

导航回 XAMPP 应用并点击 'Services',然后点击 'Restart all'。这将重新启动所有服务。您会注意到状态指示灯变为黄色,最终 return 变回绿色。

第 10 步:刷新 phpMyAdmin 页面

最后一步是刷新您之前打开的 phpMyAdmin 页面。

如果关闭它,没问题,只需 return 到 XAMPP 应用程序的“常规”选项卡,然后单击 'Go to Application'。这将在您的浏览器中打开仪表板,您可以在其中再次导航到 phpMyAdmin 页面。