蒙特雷让本地主机连接错误

Posted

技术标签:

【中文标题】蒙特雷让本地主机连接错误【英文标题】:Monterey getting localhost to connect error 【发布时间】:2022-01-02 02:33:08 【问题描述】:

刚刚更新到 Monterey 并让 localhost 连接会出现此错误:

无法访问此站点 localhost 拒绝连接

按照优秀的 brew 指南,我安装了 httpd 并在 MacOS 终端中运行此命令

brew services restart httpd

返回

==>Successfully stopped `httpd` (label: homebrew.mxcl.httpd)
==> Successfully started `httpd` (label: homebrew.mxcl.httpd)

但随后连接到:http://localhost:8080/ 会出现上述错误 谢谢

【问题讨论】:

你确定8080端口是正确的吗?我宁愿期望 80 作为默认值,并且您没有表明您正在以除默认值之外的任何方式配置 Apache httpd。 谢谢@Olaf Kock - 你让我检查了 - 已经尝试了好几次 - 是的,它是 :80 并且它正在工作(令人尴尬) - 谢谢如果你愿意将端口 80 发布为回答我会确认... 我也有同样的问题。目前,我正在调查我遇到的一个缺失的自签名权限问题。运行apachectl configtest 得到AH06665: No code signing authority for module at /usr/local/php5/libphp7.so specified in LoadModule directive. 吗? 运行 apachectl configtest 我得到“syntax OK” 尝试“which httpd”并查看它指向的目录(参见下面的部分答案)。我的猜测是代码签名与 Apple 的 Apache 版本有关。下面的链接使用代码签名链接描述了这两个选项。 wpbeaches.com/… 作为代码签名和使用 Apple 内置 Apache 的替代方案,您可能希望同时使用 Homebrew 中的 Apache 和 PHP - 请参阅 getgrav.org/blog/macos-monterey-apache-multiple-php-versions 仔细编辑 httpd.conf 完全重新安装 brew 并在关键时刻重新启动计算机有帮助,现在它可以很好地提供 http:localhost - 下一个问题是任何 php 文件都没有呈现所以指向 http:localhost/success.php 的链接在浏览器中返回“”而不是“Success” 【参考方案1】:

我遇到了与您描述的相同的问题。

$ brew services restart httpd

==> Successfully started `httpd` (label: homebrew.mxcl.httpd)

还有……

$ apachectl configtest
Syntax OK

还有……

$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 

还有……

$ ping 127.0.0.1
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 

但无法 tp 连接到 http(s)://localhost

“ERR_CONNECTION_REFUSED”

正在运行 OSX Monterey 的预重启。

我确实进行了一些“删除”狂欢,所以可能已经删除了一些配置文件??但所有关键的 apache 文件似乎都已就位。一切都开始了,没有错误。

我不知道。好奇怪。

【讨论】:

我的经验是,更改 httpd.conf 后重新启动非常重要。 “brew services restart httpd”似乎并没有重新加载配置,因此可以进行更改而没有意识到事情被破坏了。其次,httpd.conf 中的更改需要准确和完整。您是否尝试过“brew doctor”,它是“brew update”吗? 是的,“brew doctor”、“brew update”——然后是“brew reinstall httpd”——为我解决了所有问题。感谢您的评论。干杯。【参考方案2】:

我添加这个以防它帮助某人...... 真正的问题是,从 Apple 提供的 Apache 到 brew 安装的 Apache 的所有迁移都没有完成,因此页面仅在 Moneterey Apache 正在运行时显示 简单的解决方案是完成 httpd 文件的配置并重新启动 Mac ~ 然后一切正常: 要从终端运行测试 Apache/httpd 的位置:

which httpd

自制位置是:

/usr/local/bin/httpd

如果您正在获取默认的 macOS 位置

/usr/sbin/httpd

重新启动计算机并再次尝试位置测试。 我感谢WP Beaches为此

更多实验 - 似乎我每次更改 httpd.conf 时都必须重新启动 OS Monterey 一个简单的 Brew restart httpd 似乎不会重新加载配置

最终见解 - 使用 brew 建议的链接到 phpmyadmin 会导致 404 错误 - 没有 brew 别名如下 - 它工作正常:

    Alias /phpmyadmin /usr/local/share/phpmyadmin
<   Directory /usr/local/share/phpmyadmin/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        <IfModule mod_authz_core.c>
            Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Directory>

【讨论】:

非常感谢。我没有意识到苹果的 apache 是问题所在。我使用了你在那里链接的教程,现在我又开始运行了。使用自制软件的 apache。 (我担心不得不回滚到大苏尔)干杯! 现在安装了 php、mariadb(mysql 对 Monterey 无效)和 phpmyadmin 但是,将 Brew 建议的 phpmyadmin 配置添加到 httpd.conf 会产生原始错误“此站点不能到达本地主机拒绝连接”~有什么想法吗?【参考方案3】:

您没有表明您正在任何地方更改 httpd 的端口,但您正在尝试连接到 8080 - 我不希望有人在那里回答。端口 80(http 的默认值),例如http://localhost/ 将是一个更明智的地址来期待答案。

【讨论】:

谢谢@Olaf - 这当然是答案的一部分 - 但我仍然有问题 - 即使在重新启动并重新启动 httpd 后 - 预计它是 httpd.conf 设置。一旦发现它是什么,我会立即更新。 您昨天的评论听起来好像解决了您的问题... 它做了短暂的但重新启动后它没有连接并显示相同的错误消息 现在已排序 - 请查看我的答案以及 @nsdb 答案上的 cmets

以上是关于蒙特雷让本地主机连接错误的主要内容,如果未能解决你的问题,请参考以下文章

“本地主机错误建立数据库连接”

Java Oracle 本地主机连接错误 (ORA-12505)

如果连接是本地主机,如何使用 javascript 检查?

Jetty Websocket 服务器在本地工作,但远程连接失败并出现“主机已关闭”错误,如何解决?

尝试访问本地主机中的数据库时如何解决“错误:服务器不支持 SSL 连接”?

本地主机服务器拒绝连接