Mac M1 Pro环境PHP无法加载imagick.so动态库求助
Imagick扩展激活失败:_AcquireAlignedMemory符号缺失问题
问题详情
尝试激活Imagick扩展时触发如下错误:
Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/homebrew/lib/php/pecl/20210902/imagick.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/imagick.so, 0x0009): symbol not found in flat namespace '_AcquireAlignedMemory'), /opt/homebrew/lib/php/pecl/20210902/imagick.so.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/imagick.so.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/imagick.so.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/php/pecl/20210902/imagick.so.so' (no such file), '/opt/homebrew/lib/php/pecl/20210902/imagick.so.so' (no such file))) in Unknown on line 0
已执行的安装步骤:
brew install imagemagick brew install pkg-config pecl install imagick
已在php.ini中启用扩展:
extension="imagick.so"
已确认的信息:
- ImageMagick安装正常:
convert --version # 输出: Version: ImageMagick 7.1.1-12 Q16-HDRI aarch64 21239 https://imagemagick.org Copyright: (C) 1999 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC HDRI Modules OpenMP(5.0) Delegates (built-in): bzlib fontconfig freetype gslib heic jng jp2 jpeg jxl lcms lqr ltdl lzma openexr png ps raw tiff webp xml zlib Compiler: gcc (4.2)
- imagick.so文件路径正确:
ls -l /opt/homebrew/lib/php/pecl/20210902/imagick.so # 输出: -rw-r--r-- 1 jklimcik admin 494967 Jul 14 10:08 /opt/homebrew/lib/php/pecl/20210902/imagick.so
环境:MacOS 13.4、Apple M1 Pro芯片、Laravel Valet
解决方案
这个问题源于Imagick扩展与ImageMagick版本不兼容,ImageMagick 7.x的部分符号在编译Imagick时未被正确关联,可按以下步骤修复:
方案一:切换到ImageMagick 6.x版本(兼容性更稳定)
- 卸载现有组件
pecl uninstall imagick brew uninstall imagemagick
- 安装指定版本并建立软链接
brew install imagemagick@6 brew link imagemagick@6 --force
- 重新编译安装Imagick
pecl install imagick
- 验证安装结果
php -m | grep imagick
输出imagick即为安装成功。
方案二:保留ImageMagick 7并重新编译
若需保留ImageMagick 7,可指定路径后重新编译:
pecl uninstall imagick brew install imagemagick export PKG_CONFIG_PATH="/opt/homebrew/opt/imagemagick/lib/pkgconfig" pecl install imagick
内容的提问来源于stack exchange,提问作者Jaroslav Klimčík
相关产品推荐
相关产品推荐

