php下有个有关php创建图片相关的gd.so文件,似乎有段时间是gd2.so文件,不知道为啥又变回去了。这计算机的时代,变化就是最大的不变。但mac系统下自带的phpgd模块中,缺失了freetype支持,显然不能满足国内各种开源系统的要求。

苏南大叔:mac 系统,如何编译带freetype功能的php的gd模块 - freetype-gd
mac 系统,如何编译带freetype功能的php的gd模块(图12-1)

这会导致:多数图片验证码功能失效。换句话说,如果你的php源码使用mac做测试环境的话,那么很有可能发生的事情,就是:gd模块缺少freetype支持,导致图片验证码不能显示。

gd模块缺失了freetype的解决方案,到底是什么呢?说起来也挺简单的,解决方案就是:重新编译gd模块... 但是事情总是没有想像中的那么简单... 在本文中,苏南大叔将带您查看mac系统编译phpgd模块的事情。

本文测试环境:mac/php7.2.2/gd@2.1.0/freetype@2.9

php是否支持freetype情况对比

mac系统自带的php,且不说是不是最新版。gd模块似乎是构建在php内部的,也就是说,并没有独立的gd.so文件。所以,试图通过替换.so模块来补齐freetype功能,似乎是不切合实际的。那么,理想很丰满,现实很骨感。苏南大叔为了一个freetype,将php全部推倒重来了。相关文章请参见文末链接。

freetype功能的phpinfo截图如下:

苏南大叔:mac 系统,如何编译带freetype功能的php的gd模块 - 010
mac 系统,如何编译带freetype功能的php的gd模块(图12-2)

缺失freetype功能的phpinfo截图如下:

苏南大叔:mac 系统,如何编译带freetype功能的php的gd模块 - 044
mac 系统,如何编译带freetype功能的php的gd模块(图12-3)

相关链接

总结

freetype功能模块是验证码相关必备功能,这个模块对于国人来说,是个刚需。但是万恶的mac,居然是默认不开启这个功能的。而如果想要开启它,通过源码编译的途径,显然是条非常痛苦的途径,并不建议大家走这条路。

但是喜欢折腾的你,还是感谢你的耐心阅读。欢迎点赞、打赏、转载苏南大叔的文章。更多php相关文章,请点击这里查看:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   php    gd

本站的忠实读者小伙伴,正在阅读下面这些文章: