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

Mac OS 12 系统下 Apache httpd localhost 环境 PHP8 无法正常运行

Mac OS 12 配置PHP8后httpd输出PHP源码排查方案

以下操作适配系统自带httpd及brew安装的httpd两种场景

通用排查步骤

  • 确认PHP模块正常加载
    执行对应命令校验加载状态:
    系统自带httpd:httpd -M | grep php
    brew安装的httpd:先执行brew services list | grep httpd确认brew版本httpd处于运行状态,再执行对应芯片架构的命令:
    Intel芯片:/usr/local/bin/httpd -M | grep php
    Apple Silicon芯片:/opt/homebrew/bin/httpd -M | grep php
    如果输出无php_module相关内容,说明模块加载失败,先检查httpd.conf中LoadModule行的路径是否正确,brew安装PHP8的默认模块路径为:
    Intel芯片:/usr/local/opt/php/lib/httpd/modules/libphp.so
    Apple Silicon芯片:/opt/homebrew/opt/php/lib/httpd/modules/libphp.so
  • 确认PHP文件解析规则已配置
    打开httpd.conf文件,确认存在以下配置,缺失则手动添加:
    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>
    
    同时修改DirectoryIndex配置,将index.php设置为优先解析的首页:
    DirectoryIndex index.php index.html
  • 校验目录权限匹配
    确认站点文件目录的权限和httpd.conf中配置的User、Group一致,可执行命令赋予目录全局读执行权限:
    chmod -R 755 你的站点目录路径
  • 重启httpd生效配置
    所有配置修改完成后必须重启服务才会生效,对应命令:
    系统自带httpd:sudo apachectl restart
    brew安装的httpd:brew services restart httpd

场景专项注意事项

  • 使用系统自带httpd
    Mac OS 12默认禁用.htaccess解析,如果站点用到伪静态规则,需要修改httpd.conf中对应站点目录的AllowOverride配置为All,同时确认mod_rewrite模块处于开启状态。
  • 使用brew安装的httpd
    需避免和系统自带httpd端口冲突,brew版httpd默认监听8080端口,如需改成80端口可将httpd.conf中Listen 8080修改为Listen 80,同时关闭系统自带httpd服务:sudo apachectl stop

内容的提问来源于stack exchange,提问作者badbeat1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:57:00