gpt4 book ai didi

php - 为什么带有端口 80 的 MAMP (mac) 会导致禁止访问,而端口 8888 工作正常?

转载 作者:行者123 更新时间:2023-12-05 08:11:00 25 4
gpt4 key购买 nike

我刚刚将我的开发环境从旧机器转移到新 MAC。我喜欢在我的一般本地环境(更简单的项目)中使用 MAMP,但出于某种原因,最新版本的 MAMP 希望我为我的本地主机使用端口 8888。

我把它改回了我旧机器上 MAMP 上的端口 80,我有一些绝对的开发链接,所以我不想麻烦地把 localhost:8888在我的 Uri:s 开头的只是 localhost

结果是无法访问任何资源,一切都被禁止。将端口改回 8888,它工作正常。

为什么我会出现这种行为?

其他人似乎在一个月前 ( Can't connect to port 80 in MAMP on MAc ) 遇到了同样的问题,但没有解决方案。

----------------更新

lsof -I tcp:80

COMMAND    PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google 973 mattias 28u IPv6 0x269b774a91275221 0t0 TCP localhost:54383->localhost:http (CLOSE_WAIT)
Google 973 mattias 36u IPv6 0x269b774a91275881 0t0 TCP localhost:54384->localhost:http (CLOSE_WAIT)
httpd 5444 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5445 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5446 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5447 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5448 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5449 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5461 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5468 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5476 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5477 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)
httpd 5478 mattias 4u IPv6 0x269b774a912738a1 0t0 TCP *:http (LISTEN)

此外,http://localhost/MAMP/工作正常

当我尝试访问 webroot 中我自己的任何文件夹时,我被禁止:

如果我尝试一级文件夹(即 http://localhost/myapp/,位于 webroot/myapp),我只会得到

禁止您无权访问此资源。

但如果我尝试一个子文件夹或一个 PHP 文件,例如 http://localhost/myapp/subfolder/或者http://localhost/myapp/subfolder/index.php

然后我反而得到了

禁止您无权访问此资源。服务器无法读取 htaccess 文件,为了安全拒绝访问

如果我将 MAMP 配置为使用不同的端口,则一切正常。但我不想在 dev env 的路由中指定端口,因为我正在处理的应用程序有一些硬编码的 Uri:s。

此外,这是一种让我烦恼的奇怪行为 =) 我的其他 MAC 没有这样做,所以我想深入了解它...

-------- 另一个更新

我已经将我的网络根目录(我相信 MAMP 默认调用它的 htdocs)移动到我的用户文件夹(user/Home/Documents/www)如果它以某种方式与权限相关,但我不明白为什么它然后工作正常在 8888 端口下但不在 80 端口下...这不像 Apache 根据它运行的端口访问我的文件夹...

-------请求的信息

我偶尔会启动一个节点服务器只是为了检查一个人的工作但目前没有运行。当它打开时,它会在 3000 端口下运行。

.htaccess 我的 web/文件夹:重写引擎开启RewriteCond %{HTTP_HOST} ^域名.com$ [NC,OR]RewriteCond %{HTTP_HOST} ^www.domain-name.com$RewriteCond %{REQUEST_URI} !文件夹/RewriteRule (.*)/文件夹/$1 [L]

Mac 版 Big Sur 11.3.1

MAMP 版本 6.3

最佳答案

发生这种情况是因为有其他应用程序使用端口 80。想到的一个是 skype。您可以尝试 lsof -i tcp:80 来查看哪些进程正在锁定端口 80。

关于php - 为什么带有端口 80 的 MAMP (mac) 会导致禁止访问,而端口 8888 工作正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67228134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com