You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法在macOS Sierra 10.12.6启动Apache/2.4.29(Unix),求助排查

解决macOS Sierra 10.12.6上brew安装的httpd启动报错AH00136的问题

我之前在处理brew安装的Apache时也碰到过一模一样的AH00136错误,其实根源就是服务器没法正确降级启动权限——要么是核心的mod_unixd模块没加载,要么是权限配置出了问题。按下面的步骤一步步来,应该能快速解决:

  • 检查并启用mod_unixd模块
    首先打开brew安装的httpd配置文件(注意和系统自带的Apache配置路径不同):

    open /usr/local/etc/httpd/httpd.conf
    

    在文件里搜索mod_unixd,找到类似这样的行:

    #LoadModule unixd_module lib/httpd/modules/mod_unixd.so
    

    把行首的#去掉,保存文件。这个模块是Apache处理权限降级的核心,没有它服务器没法从root权限切换到普通用户运行,自然会报这个错误。

  • 确认User和Group配置正确
    还是在httpd.conf文件里,找到User和Group的配置段,确保它们设置为系统默认的web用户组:

    User _www
    Group _www
    

    你可以用下面的命令验证_www用户是否存在:

    dscl . -read /Users/_www
    

    如果输出用户的详细信息就没问题;要是不存在,执行sudo dscl . -create /Users/_www就能创建,但一般brew安装httpd时会自动配置好这个用户。

  • 修复目录权限
    Apache需要对日志目录和网站根目录有读写权限,执行下面的命令修复权限:

    sudo chown -R _www:_www /var/log/apache2
    sudo chown -R _www:_www /usr/local/var/www
    

    (如果你的网站根目录不是/usr/local/var/www,替换成你实际使用的路径即可)

  • 验证配置并重启服务
    先检查配置文件有没有语法错误,避免因为配置写错导致启动失败:

    /usr/local/bin/httpd -t
    

    如果输出Syntax OK,就可以重启httpd服务了:

    brew services restart httpd
    

    另外要注意,如果系统自带的Apache还在运行,记得先停掉它,避免端口冲突:

    sudo apachectl stop
    

如果完成上面的步骤后还是有问题,可以再查看/var/log/apache2/error_log的最新信息,看看是不是还有其他权限相关的细节错误,一般按这个流程走就能解决AH00136的问题。

内容的提问来源于stack exchange,提问作者Pavel Hájek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:31:41