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

MacOS Catalina安装PHP 8.2报错:iconv does not support errno求助

解决PHP 8.2在MacOS Catalina上编译时的iconv errno问题

问题背景

在2015款MacBook Pro的Catalina系统中,通过Homebrew编译安装PHP 8.2时出现报错:

configure: error: iconv does not support errno

尽管已安装libiconv,但编译过程未正确引用Homebrew提供的GNU版本,而是使用了系统自带的不支持errno的iconv实现。

解决方案

  • 先确保libiconv为Homebrew最新版本:

    brew reinstall libiconv
    
  • 配置环境变量,强制编译时优先使用Homebrew的libiconv:

    export LDFLAGS="-L/usr/local/opt/libiconv/lib"
    export CPPFLAGS="-I/usr/local/opt/libiconv/include"
    export PKG_CONFIG_PATH="/usr/local/opt/libiconv/lib/pkgconfig"
    
  • 重新编译安装PHP 8.2:

    brew install php@8.2 --build-from-source
    

    若之前安装失败残留了缓存,先清理再安装:

    brew cleanup php
    LDFLAGS="-L/usr/local/opt/libiconv/lib" CPPFLAGS="-I/usr/local/opt/libiconv/include" PKG_CONFIG_PATH="/usr/local/opt/libiconv/lib/pkgconfig" brew install php@8.2 --build-from-source
    
  • 若上述方法无效,手动修改PHP的编译配置:

    1. 打开Homebrew的PHP配方编辑界面:
      brew edit php@8.2
      
    2. 在configure参数列表中添加--with-iconv=/usr/local/opt/libiconv,保存退出后重新执行安装命令。

原理说明

MacOS Catalina自带的iconv属于苹果自研实现,不支持errno相关特性;而Homebrew安装的是GNU libiconv,完全符合PHP编译所需的依赖要求。通过环境变量或编译参数指定使用GNU版本,即可解决该报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 07:30:12