mac 系统,如何编译 php72 的 iconv 模块?
发布于 作者:苏南大叔 来源:程序如此灵动~前几篇文章中,苏南大叔和大家描述了php72
在mac
下面的编译事项。事实上,在苏南大叔的某台mac
上面,出现了iconv
相关错误提示,虽然这个函数不是太常用。但是,有,总是比没有更好的。人生就是这么贪婪....
如果大家也遇到了相同的问题,不妨和苏南大叔一起,来探究一下iconv.so
文件的编译经历。如果您确认xcode
被正确安装了,而且lib
目录也正确做好了软连接的情况下(https://newsn.net/say/phpize.html),还是出现iconv
的报错问题。那么,您可以继续查看本文内容。
掩耳盗铃的方案
由于默认情况下,iconv
在php
中的扩展是默认安装的。在php72
编译出错的时候,苏南大叔使用了参数--without-iconv
,暂时略过了iconv
模块的编译。编译的过程,可以参见这篇文章:
在./configure
的时候,使用参数--without-iconv
,略过iconv
模块,掩耳盗铃般略过这个问题。
当然,这个参数--without-iconv
,是通过下面的方式获得的。
./configure --help | grep iconv
下载iconv模块
如果要正视这个问题的话,那么
根据经验,编译php的模块出错的时候,我们可能需要先安装第三方依赖。iconv
的下载地址如下:
页面当然有些丑陋,当然,很多开源软件,页面都比较简陋。但是这个iconv
的版本号,苏南大叔是觉得有些迷糊啊。大家自己看截图,注意,截至到发稿,iconv
的最新版本是1.15
。
iconv
第三方软件的编译安装
下载到上述的iconv@1.15
之后,苏南大叔需要对它进行编译安装。脚本很简单,命令如下:
./configure --prefix=/usr/local
make
sudo make install
编译过程,比较容易。
其中,--prefix=/usr/local
指的是:默认的安装位置是:/usr/local
。
编译安装php
的iconv
扩展
苏南大叔cd
到php72
的源码目录下:/ext/iconv/
。然后执行常规的编译命令即可。
phpize
./configure
make
sudo make install
开启php.ini
中的iconv.so
开启的过程非常简单,您可以参照这篇文章,https://newsn.net/say/mac-php-gd-freetype.html 。重启之后,您就可以看到效果了。
题外话
在编译过程中,还有可能碰到缺少zlib
的错误提示,那么下载地址是:http://www.zlib.net/ 。处理过程,也非常简单。如果您需要,可以按照本节内容配置。这里就不做细说了。比较简单。
./configure
make
sudo make install
结论
苏南大叔的iconv
编译过程,主要问题可能就是:iconv
的版本问题了。可能是先入为主的缘故,下载到了错误的1.9
版本,实际上最新版是1.15
。哈哈~~
如果您觉得本篇文章有用,解决了您的类似问题。欢迎打赏、点赞、转载苏南大叔的文章,更多php
相关文章,请点击这里查看:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。