Big Sur下Homebrew安装的PHP7.4与Apache签名失败及VS Code高CPU问题求助
故障原因与修复方案
Apache PHP模块签名报错
故障原因
Homebrew更新PHP 7.4版本会覆盖你之前已签名的libphp7.so、opcache.so模块文件,导致原有签名失效;也可能是你在Apache配置中填写的证书名称和钥匙串中实际的代码签名证书名称不匹配,或是证书的信任权限被系统重置。
排查修复步骤
- 首先打开钥匙串访问,进入「我的证书」分类,找到你之前创建的代码签名证书,复制完整的证书名称,替换Apache配置文件(默认路径为
/etc/apache2/httpd.conf或/usr/local/etc/httpd/httpd.conf)中LoadModule行填写的My Name字段,需保证完全一致。 - 重新对PHP相关模块执行强制签名,替换命令中的
你的证书完整名称为你复制的证书名:codesign -f -s "你的证书完整名称" /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so codesign -f -s "你的证书完整名称" /usr/local/opt/php@7.4/lib/php/20190902/opcache.so - 验证签名是否生效,执行以下命令无报错即为签名正常:
codesign -vv /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so codesign -vv /usr/local/opt/php@7.4/lib/php/20190902/opcache.so - 重启Apache验证:
sudo apachectl restart,查看日志是否还有签名相关报错。 - 临时应急可以使用ad-hoc签名,不需要自定义证书:
codesign -f -s - /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so codesign -f -s - /usr/local/opt/php@7.4/lib/php/20190902/opcache.so
VS Code打开根目录CPU占满问题
故障原因
VS Code默认会对工作区所有文件执行索引、搜索预处理、扩展扫描、文件变更监听操作,根目录/下包含海量系统文件、缓存文件、权限受限目录,VS Code会反复重试读取无权限访问的目录,导致CPU资源被占满;/etc、/var目录文件数量少,无大量不可读路径,所以运行正常。
排查修复步骤
- 优先规避直接打开根目录作为工作区,仅打开你实际需要使用的子目录(比如代码存放目录)。
- 如果必须打开根目录,打开VS Code设置,搜索
files.exclude,添加不需要扫描的目录规则,比如/System、/Library、/private/var/vm、/usr下非工作需要的路径;同时添加相同规则到search.exclude、files.watcherExclude配置项,减少扫描和监听的文件范围。 - 排查第三方扩展影响:临时禁用所有非官方扩展后打开根目录,若CPU占用恢复正常,逐个启用扩展定位到导致异常的扩展后禁用或卸载即可。
内容的提问来源于stack exchange,提问作者chillywilly
相关产品推荐
相关产品推荐

