参考资料

  1. 要克隆Umami的v1.31.0版本
  2. git clone怎么用
  3. git常用命令有哪些
  4. 为什么用svn不用git
  5. github干什么用
  6. git与gitee的关系
  7. 国内使用镜像站点加速
  8. 如何生成安全的随机盐值?JWT、HASH_SALT、哈希盐值

Firefly III 无法格式化货币金额,因为您的服务器缺少必要的软件包

Firefly III 货币格式化问题解决方案(完整版)

1. 安装 PHP intl 扩展

Ubuntu/Debian:  

sudo apt update
sudo apt install php-intl

CentOS/RHEL:  

sudo yum install php-intl

Windows (XAMPP/WAMP):  

  • 编辑 php.ini,取消注释 extension=intl

  • 确保 php_intl.dll 存在于 PHP 扩展目录


2. 配置 PHP intl 扩展

  • 检查 php.ini 是否包含:  

    extension=intl
  • 确保 intl.default_locale 设置为支持中文的格式(可选):  

    intl.default_locale = zh_CN

3. 中文字符集支持

Firefly III 需要正确的中文语言环境(Locale)支持,否则货币符号可能显示异常。

Ubuntu/Debian:  

sudo apt install locales
sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8

CentOS/RHEL:  

sudo yum install glibc-common
sudo localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
export LANG=zh_CN.UTF-8

4. 验证安装

  • 检查 PHP intl 是否启用:

    php -m | grep intl

    或访问 phpinfo() 查看 intl 是否加载。

  • 测试货币格式化(PHP CLI):

    php -r "echo NumberFormatter::create('zh_CN', NumberFormatter::CURRENCY)->formatCurrency(1234.56, 'CNY');"

    预期输出:¥1,234.56  

  • Firefly III 检查:
    重新访问 Firefly III,确保货币金额正常显示。


5. 必装的额外组件

  • PHP 扩展(确保已安装):

    sudo apt install php-mbstring php-xml php-curl php-zip php-sqlite3
  • 数据库驱动(如 MySQL/PostgreSQL):

    sudo apt install php-mysql  # MySQL
    sudo apt install php-pgsql  # PostgreSQL
  • Composer(依赖管理):

    sudo apt install composer

总结

  1. 安装 php-intl

  2. 配置 php.ini 启用 intl

  3. 设置中文 Locale(zh_CN.UTF-8

  4. 验证 intl 是否正常工作

  5. 确保其他 PHP 依赖(mbstring, xml, curl 等)已安装

完成以上步骤后,Firefly III 应能正确格式化货币金额。