【问题标题】:How can I install brew httpd on MacOS 11 Big Sur?如何在 MacOS 11 Big Sur 上安装 brew httpd?
【发布时间】:2021-03-14 07:12:36
【问题描述】:

我已将 macOS 版本升级到 11 Big Sur,无法使用 brew 的 apache 而不是内置版本。

我做了什么:

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

brew intall httpd

当我尝试启动已安装的 httpd 时,它说 apache 已启动

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

但是当我运行 brew services 命令时,我看到 httpd 没有启动(并且 http://localhost:8080 不工作)。

sergeylyskov@MacBook-Pro-Sergey ~ % brew services            
Name          Status  User         Plist
httpd         error   sergeylyskov /Users/sergeylyskov/Library/LaunchAgents/homebrew.mxcl.httpd.plist
php@7.3       stopped              
php@7.4       stopped              
postgresql@12 stopped              

附:我想使用 brew 的版本,因为 apache 中的构建似乎不适用于 php 模块(它在phpinfo() 中不显示 xdebug 和 imagick 扩展)

有什么建议吗?

【问题讨论】:

  • 我也有同样的问题。运气好能解决吗?
  • @WawaLoo 很遗憾没有进展,所以我现在使用 docker
  • 我发现在 httpd.conf 中设置 ServerName 会导致这个错误。如果您留下 ServerName 注释,它就可以工作。如果您需要虚拟主机并且想要使用 localhost,那么您还需要为 localhost 创建一个虚拟主机。

标签: macos apache homebrew


【解决方案1】:

我尝试卸载然后重新安装 httpd,但最初并没有奏效。卸载时,brew 不会删除 /usr/local/etc/httpd config 目录(这是明智的,因为您可能在其中配置了很多东西但没有备份)。但是,这些配置文件很可能已经过时(或自定义),导致它们与最新版本的 httpd 不兼容,从而导致它失败。所以我做了以下事情:

brew services stop httpd
brew uninstall httpd
mv /usr/local/etc/httpd /usr/local/etc/httpd-old
brew install httpd 
brew services start httpd

这让它使用新的配置文件再次运行;我现在可以将任何特定的配置详细信息从 httpd-old 复制到新的 httpd 目录中。

另请注意:默认情况下,httpd 从/usr/local/var/www 提供服务。此目录不受卸载-重新安装过程的影响,因此只有您的配置文件需要重新执行。

【讨论】:

  • 我几天前做了类似的操作,是的,似乎旧的 httpd 文件干扰了新版本的正常安装
  • 您确定将 brew 安装到 /usr/local 而不是 /opt/homebrew(/opt/homebrew 是默认设置)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-19
  • 2021-08-04
  • 2021-05-31
  • 2021-06-08
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
相关资源
最近更新 更多