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

Mac Sierra下MAMP4.2.1安装PHP7.0.22 MongoDB驱动后Apache停止工作求助

解决MAMP 4.2.1 + PHP7.0.22安装MongoDB驱动后Apache崩溃的问题

这种情况我之前排查过好几次,核心原因是你用brew安装的MongoDB驱动和MAMP自带的PHP环境不兼容——brew编译的驱动是适配自身构建的PHP版本,而MAMP用的是独立打包的PHP环境,两者的编译参数、依赖库存在差异,加载驱动时会触发进程崩溃,最终Apache收到SIGTERM信号被迫终止。

试试下面的分步解决方案:

  • 第一步:卸载brew安装的冲突驱动
    先把之前用brew装的驱动删掉,避免后续环境干扰:

    brew uninstall php70-mongodb
    
  • 第二步:定位并清理MAMP的PHP配置文件
    MAMP的PHP7.0.22配置文件路径一般是:

    /Applications/MAMP/bin/php/php7.0.22/conf/php.ini
    

    打开这个文件,确认之前手动添加的extension="/usr/local/opt/php70-mongodb/mongodb.so"这行已经完全删除。

  • 第三步:用MAMP自带的pecl编译适配的驱动
    这是解决兼容性问题的关键步骤,MAMP自带的pecl会针对当前PHP环境编译驱动,确保完全适配:

    1. 终端切换到MAMP PHP的bin目录:
      cd /Applications/MAMP/bin/php/php7.0.22/bin
      
    2. 运行pecl安装MongoDB驱动:
      ./pecl install mongodb
      
      安装过程中如果出现SSL、ICU相关的配置提示,直接按回车选择默认选项即可。
  • 第四步:验证配置并重启Apache
    安装完成后,pecl会自动在php.ini中添加驱动配置,你可以打开文件确认是否存在这一行:

    extension="mongodb.so"
    

    确认无误后,重启MAMP的Apache服务。

  • 第五步:验证驱动是否生效
    在MAMP的htdocs目录下创建一个phpinfo.php文件,内容如下:

    <?php phpinfo(); ?>
    

    访问该文件(比如http://localhost/phpinfo.php),搜索mongodb,如果能看到完整的模块信息,说明问题已经解决。

关于日志里的SIGTERM说明

日志中的[notice] caught SIGTERM, shutting down是Apache收到了系统发送的终止信号,通常是因为加载了不兼容的扩展导致PHP进程崩溃,进而触发了Apache的终止流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:39:55