Apache 在 macOS Catalina 上拒绝访问

php*_* js 13 apache macos macos-catalina

我的 Macbook 上运行着 Apache 网络服务器(Apple 提供的网络服务器)并且运行完美无缺,直到我升级到 Catalina 10.15。我使用了相同的 httpd.conf,但现在它正在显示

您无权访问此资源。服务器无法读取 htaccess 文件,拒绝访问以确保安全

我认为是 Catalina 访问文件夹,但我不知道如何让 Apache 访问 Web 根文件夹(位于我的 /Users/me/Documents 文件夹中),因为 Apache 不是普通的 /Application。

当我检查 lsof -nP -i4TCP:80 时,端口 80 已打开 | grep LISTEN op nmap,所以 Apache 确实启动了。

我在根文件夹中设置了一个简单的 index.html,但问题仍然存在。当我从 Apache 根文件夹中删除 .htaccess 时,我得到:

您无权访问此资源。

此外,在尝试使用 ErrorDocument 处理请求时遇到 403 Forbidden 错误。

这里有什么问题?

php*_* js 28

我自己找到了解决方案。

这是一个Catalina问题:

  1. 转到System Preferences=> Security & Privacy=>Full Disk Access
  2. 单击“+”按钮添加应用程序并转到磁盘的根文件夹并按 Cmd + Shift + .(dot)
  3. 转到 /usr/sbin/ 并选择httpd

那对我有用。

  • 全磁盘访问? (2认同)

小智 5

我遇到了同样的错误,在我的情况下,问题是 macOS Catalina 默认禁用了 php 模块,在错误日志中显示为:

尾/private/var/log/apache2/error_log

[Wed Feb 26 18:10:57.123036 2020] [autoindex:error] [pid 3145] [client 127.0.0.1:53734] AH01276: 无法提供目录 /Library/WebServer/Documents/subdir/: 没有匹配的 DirectoryIndex (index.html) ) 找到,并且选项指令禁止服务器生成的目录索引

Apache服务器是寻找热塑成型了的index.html代替的index.php所以被阻挡在列表目录,我注释掉行#LoadModule php7_module的libexec / apache2的/ libphp7.so/etc/apache2/httpd.conf并重新启动Apache服务器

须藤apachectl重启

它只是工作。希望能帮助到你。