最新消息:yaf表单扩展中新增加了浮点数、日期和集合的校验。php yaf框架扩展实践三——表单

mac操作系统10.10 Yosemite php不支持png图片的问题

PHP 2613浏览 1评论

mac操作系统升级到10.10 Yosemite之后,发现自带的php无法显示出验证码,进而进行问题排查,发现是内置的php不支持png图片的操作和FreeType。诸如imagecreatefrompng、ImagePng都会提示Call to undefined function 。

可以通过phpinfo查看gd库的信息是否支持png。如果没有如下两行就是不支持的了。

Yosemite系统php不支持png图片

Yosemite系统php不支持png图片

谷歌搜索到两种方法进行处理:一种还原到旧版本;一种是重新安装php。这里使用的重新安装php的方式。咋一想还挺复杂的,其实通过homebrew来安装还是非常方便的。

安装homebrew

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

homebrew是用ruby开发的,这里就ruby命令进行安装就可以了。插播一下,据说homebrew的作者去谷歌面试,因为不会写二叉树反转的算法被pass了,好⊙﹏⊙b汗啊。

接下来自检一下:

$ 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运行正常就不用管它。如果出现一些安装错误之类的,就可以通过brew doctor查询一下问题。

升级homebrew

$ brew update

配置第三方源

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

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

安装php

这里可以选择安装php 5.5或者5.6版本,通过options可以查看安装时相应的参数:

$ brew options php55
$ brew options php56

install安装

$ brew install php55

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

配置apache支持新安装的php

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

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

不要忘记重新启动下apache

$ sudo apachectl restart

重启完成后,看看phpinfo是否支持png了。

重新安装有一个麻烦的地方,就是还需要重新安装一些其它的扩展库,比如redis之类的。幸好这个也简单,通过php自带的工具pecl安装就可以了。

转载请注明:快乐编程 » mac操作系统10.10 Yosemite php不支持png图片的问题

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 现在很多图片格式都是PNG的,不支持就麻烦了。
    af论坛2年前 (2015-07-08)回复