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

macOS Monterey通过brew安装PHP后找不到sqlite3_enable_load_extension符号报错

问题解决步骤

错误根因

macOS Monterey 系统自带的 /usr/lib/libsqlite3.dylib 版本较低,未实现 _sqlite3_enable_load_extension 符号,而 brew 编译的 PHP 8.1 默认依赖更高版本的 sqlite 库,加载时优先匹配到系统低版本 sqlite 库就会触发该报错。

修复操作

第一步:修正PHP模块加载路径

首先检查 /private/etc/apache2/httpd.conf 中对应的LoadModule行,不要写死Cellar下带版本号的绝对路径,替换为brew官方给出的通用软链路径,避免后续PHP版本更新后路径失效:
把原配置:

LoadModule php_module /usr/local/Cellar/php/8.1.0/lib/httpd/modules/libphp.so

替换为:

LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so

修改后先执行apachectl configtest验证是否恢复正常,如果仍报错继续执行下面的步骤。

第二步:重新编译PHP关联brew版sqlite

  1. 先安装brew源的高版本sqlite:
    brew install sqlite
  2. 从源码重新编译安装PHP,编译过程会自动链接brew安装的sqlite,避免依赖系统低版本库:
    brew reinstall php --build-from-source
  3. 编译完成后,重新对新生成的libphp.so文件执行代码签名操作,原有签名会随文件更新失效。

验证

执行以下命令检查配置是否合法:
apachectl configtest
返回Syntax OK即代表修复完成,执行sudo apachectl restart重启Apache即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:36:04