Mac PHP 图片验证码无法显示问题

查阅很多资料,问题如下:


mac 系统升级到 yosemite 后,php 也自动升级,运行 phpcms 时发现后台验证码显示不出来。很明显,缺少 gd 库,需要重新编译安装 php,其过程十分辛苦。

但使用 brew 安装比较方便。

所以操作步骤如下:

1、安装 brew(已经安装的略过)
​2、安装 php5.6
3、安装 freetype,jpeg,libpng,gd,zlib

具体过程:


安装 homebrew#

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

这里由于网速原因估计会比较慢
完成后,接下来自检一下:

$ brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry and just ignore them. Thanks! Warning: A newer Command Line Tools release is available. Update them from Software Update in the App Store.

出现一些警告信息,其中也说明了如果 brew 运行正常就不用管它。CTRL+C 退出,继续往下


配置第三方源

因为 homebrew 没有自带 php 的包,所以要添加新的源进来:

$ brew tap homebrew/dupes 
$ brew tap homebrew/versions $ brew tap homebrew/homebrew-php

安装 php#

install安装

$ brew install php56

安装过程需要一段时间,等一下就可以了。

安装freetype,jpeg,libpng,gd,zlib

brew rm freetype jpeg libpng gd zlib brew install freetype jpeg libpng gd zlib 

先删除之前的再安装新的

然后创建链接

brew link --overwrite libpng freetype jpeg 
#注意添加overwrite,否则可能会提示冲突 这里可能提示目录权限错误问题: 
Error: Could not symlink include/libpng16/png.h 执行命令: 

sudo chmod -R 777 /usr/local/include/libpng16 
sudo chmod -R 777 /usr/local/include/freetype2

配置 apache 支持新安装的 php
安装的 php 在 /usr/local/opt/php56 目录,apache 这边需要修改配置文件,加载进新安装的 php 模块。

$ LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so

不要忘记重新启动下 apache

$ sudo apachectl restart

重启完成后,看看验证码是否显示了

本作品采用《CC 协议》,转载必须注明作者和本文链接
每一天都要进步一点点!
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。