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

PHP Imagick加载失败:undefined symbol FT_Done_MM_Var 如何解决?

PHP Imagick 加载报错 undefined symbol FT_Done_MM_Var 解决方法

这个错误的核心原因是系统的harfbuzz库与XAMPP依赖的FreeType库版本不兼容,FT_Done_MM_Var 是FreeType库中的函数,harfbuzz链接的FreeType版本缺失该符号导致imagick.so加载失败。

以下是几种可行的解决方法:

  • 确认版本匹配
    先检查系统中FreeType和harfbuzz的版本:

    rpm -q freetype harfbuzz
    

    Fedora 36默认的freetype版本应为2.12.x左右,harfbuzz为7.x左右,若XAMPP自带的FreeType版本过低,就会出现兼容性问题。

  • 方法一:让XAMPP使用系统的FreeType库

    1. 定位XAMPP的库目录:/opt/lampp/lib/
    2. 备份XAMPP自带的FreeType文件:
      mkdir -p /opt/lampp/lib/backup/
      mv /opt/lampp/lib/libfreetype.so* /opt/lampp/lib/backup/
      
    3. 创建软链接指向系统的FreeType库:
      ln -s /usr/lib64/libfreetype.so.6 /opt/lampp/lib/libfreetype.so
      ln -s /usr/lib64/libfreetype.so.6 /opt/lampp/lib/libfreetype.so.6
      
    4. 重启XAMPP服务:
      /opt/lampp/xampp restart
      
  • 方法二:重新适配harfbuzz与imagick

    1. 卸载当前系统的harfbuzz:
      sudo dnf remove harfbuzz
      
    2. 安装与系统FreeType兼容的harfbuzz版本:
      sudo dnf install harfbuzz --setopt=install_weak_deps=False
      
    3. 重新编译安装imagick扩展:
      pecl uninstall imagick
      pecl install imagick
      
    4. 重启XAMPP服务。
  • 方法三:更换适配的XAMPP版本
    若上述方法无效,尝试下载适配Fedora 36的XAMPP版本,确保其自带的库文件与系统库版本兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:55:26