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

MacOS Ventura中Apache启用PHP模块签名缺失报错的解决办法

解决MacOS 13 Ventura下Apache加载brew安装PHP模块的签名错误问题

方案一:为PHP模块添加自签名证书(推荐,符合系统安全要求)

  • 创建代码签名证书

    1. 打开「钥匙串访问」应用,顶部菜单选「证书助理」→「创建证书」
    2. 证书名称填任意标识(比如「Apache PHP Signer」),证书类型选「代码签名」,勾选「让我覆盖这些默认值」,点击「继续」
    3. 后续步骤保持默认,最后将证书存储到「系统」钥匙串,完成创建
    4. 在系统钥匙串找到刚创建的证书,右键「显示简介」,切换到「信任」标签,把「代码签名」设为「始终信任」
  • 为PHP模块签名
    打开终端执行命令(替换证书名称为你创建的标识):

    sudo codesign -s "Apache PHP Signer" /usr/local/opt/php/lib/httpd/modules/libphp.so
    
  • 修改Apache配置
    编辑/etc/apache2/httpd.conf,更新LoadModule指令并添加签名标识:

    LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so "Apache PHP Signer"
    
    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>
    
  • 验证并重启Apache

    sudo apachectl configtest
    sudo apachectl restart
    

方案二:关闭Apache模块签名验证(仅开发环境使用)

如果是本地开发环境,可临时关闭签名检查快速解决:

  1. 编辑/etc/apache2/httpd.conf,在LoadModule指令后添加关闭签名的配置:
    LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so
    ModuleSignature Off
    
    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>
    
  2. 额外确认DirectoryIndex包含index.php,确保优先解析PHP文件:
    DirectoryIndex index.php index.html
    
  3. 验证并重启Apache:
    sudo apachectl configtest
    sudo apachectl restart
    

验证配置

在/Library/WebServer/Documents/下创建或修改index.php,写入:

<?php phpinfo(); ?>

访问http://localhost/index.php,若能正常显示PHP信息页,说明配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 03:28:10