mac上的apache突然启动不了了,原因是Homebrew 不认识新版 macOS

所属分类:php | 浏览:24 | 发布于 2026-05-14

mac上的apache突然访问不了,老方法排查无果,在豆包的帮助下发现,原来是Homebrew 不认识新版 macOS造成的。

1、先问一句

apache是 macOS 系统自带 Apache 还是自己装的 Homebrew Apache / MAMP?这两个的排查方法不太一样,我的是自己Homebrew安装的。

2、一般apache问题排查思路

这个是通常的做法,但不适用于本次。

2.1、查看状态

sudo apachectl status
# 或
sudo lsof -i :80
  • 有输出 → 服务在运行
  • 无输出 → 服务没启动 / 没监听 80

2.2、检查 Apache 配置语法

如果服务没有运行,则启动服务,若服务启动失败,则先查看是否有语法错误

~ sudo apachectl configtest
Syntax OK
  • Syntax OK:配置文件语法正确
  • Syntax error:配置文件语法有错误

2.3、看日志错误

tail -n 50 /var/log/apache2/error_log  #系统自带apache的日志文件
或
tail -n 50 /opt/homebrew/var/log/httpd/error_log  #Homebrew安装的apache的日志文件

3、本次排查过程

一般情况,上面第2节的方法就可以解决问题,但是本次不行,才有了询问apache是自带的还是homebrew安装的问题

3.1、查看 Homebrew Apache 状态

brew services list | grep httpd

3.2、查看它到底有没有监听 80/8080

sudo lsof -Pn -i TCP | grep LISTEN | grep httpd
  • 有输出 → 启动成功
  • 没输出 → 启动失败

3.3、本次Apache崩掉的原因

执行 brew services list | grep httpd就 显示报错了

brew services list | grep httpd
/opt/homebrew/Library/Homebrew/macos_version.rb:53:in `initialize': unknown or unsupported macOS version: "26.4.1" (MacOSVersion::Error)

原来是前几天把 电脑系统升级到了 26.4.1,macOS版本太新了,Homebrew 还不认识,直接罢工了。

解决方法就是更新Homebrew

3.4、强制更新 Homebrew (修复版本识别)

brew update-reset

这一个命令需要比较长的时间来执行,本次执行完这一步,apache就恢复正常了,但是豆包给的答案还有后面两步,贴出来,仅供参考。

3.5、再更新一遍

brew update

3.6、修复权限

sudo chown -R $(whoami) $(brew --prefix)/*

修复完重启apapche即可。

 

海涛博客(https://haitaoblog.com)属于海涛个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com W22

备案号:粤ICP备18108585号 友情链接