mac 上安装php环境,出现如下错误:
      
     "_libiconv_open", referenced from:
      _zif_iconv_substr in iconv.o
      _zif_iconv_mime_encode in iconv.o
      _php_iconv_string in iconv.o
      __php_iconv_strlen in iconv.o
      __php_iconv_strpos in iconv.o
      __php_iconv_mime_decode in iconv.o
      _php_iconv_stream_filter_factory_create in iconv.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [sapi/cli/php] Error 1
peter:php-5.6.23 peter$ sudo make -v
Password:
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0



MakeFile 里面找到类似下面这一行:

EXTRA_LIBS = -lresolv -lmcrypt -lltdl -liconv-lm -lxml2 -lcurl -lssl -lcrypto


删除所有的 -lssl 和 -lcrypto 然后添加libiconv.dylib的路径(如果你安装了 brew,那么则是 /usr/local/opt/libiconv/lib/libiconv.dylib),重新运行 make 命令,done。



参考文档:

https://segmentfault.com/q/1010000004137098