Mac升级到Yosemite后默认的php版本不支持imagetfftext函数问题解决

Mac升级到yosemite后,php也自动升级,运行项目的时候发现后台验证码显示不出来。调试一下发现imagetfftext这个函数不存在,应该gd没有安装完全,因为Mac上的php实现系统自带的,只能通过重新安装php来解决【不能通过安装扩展来处理】,经过对比发现使用homebrew安装会方便点。。。

首先重新安装freetype,jpeg,libpng,gd

#先删除之前的再安装新的,没有安装过的则直接跳过即可
sudo brew rm freetype jpeg libpng gd zlib

brew install freetype jpeg libpng gd zlib

  • 安装过程可能会报下面的错误:

    Error: You must "brew link libpng" before gd can be installed

    解决办法:

    #注意添加overwrite,否则可能会提示冲突
    sudo brew link --overwrite libpng
    

下来就是安装php了【这里安装会覆盖之前的php】

#这里我选择版本的是php5.6,因为之前系统默认的是php5.5,用高版本的覆盖放心点
sudo brew install homebrew/php/php56
  • 安装完成之后有如下提示:

    To enable PHP in Apache add the following to httpd.conf and restart Apache:
        LoadModule php5_module    /usr/local/opt/php56/libexec/apache2/libphp5.so
    
    The php.ini file can be found in:
        /usr/local/etc/php/5.6/php.ini
    
    ✩✩✩✩ PEAR ✩✩✩✩
    
    If PEAR complains about permissions, 'fix' the default PEAR permissions and config:
        chmod -R ug+w /usr/local/Cellar/php56/5.6.10/lib/php
        pear config-set php_ini /usr/local/etc/php/5.6/php.ini system
    
    ✩✩✩✩ Extensions ✩✩✩✩
    
    If you are having issues with custom extension compiling, ensure that
    you are using the brew version, by placing /usr/local/bin before /usr/sbin in your PATH:
    
          PATH="/usr/local/bin:$PATH"
    
    PHP56 Extensions will always be compiled against this PHP. Please install them
    using --without-homebrew-php to enable compiling against system PHP.
    
    ✩✩✩✩ PHP CLI ✩✩✩✩
    
    If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc,
    ~/.zshrc, ~/.profile or your shell's equivalent configuration file:
    
          export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"
    
    ✩✩✩✩ FPM ✩✩✩✩
    
    To launch php-fpm on startup:
        mkdir -p ~/Library/LaunchAgents
        cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
        launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
    
    The control script is located at /usr/local/opt/php56/sbin/php56-fpm
    
    OS X 10.8 and newer come with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /usr/local/sbin is before /usr/sbin in your PATH:
    
      PATH="/usr/local/sbin:$PATH"
    
    You may also need to edit the plist to use the correct "UserName".
    
    Please note that the plist was called 'homebrew-php.josegonzalez.php56.plist' in old versions
    of this formula.
    
    
    To have launchd start homebrew/php/php56 at login:
        ln -sfv /usr/local/opt/php56/*.plist ~/Library/LaunchAgents
    Then to load homebrew/php/php56 now:
        launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
    

上面关键的是就是libphp5.so这个文件,其他的暂时可以忽略了。。。

最后就是修改apache的配置文件【httpd.conf】,把原来的libphp5.so文件路径替换为上面的,重启apache即可

sudo sudo vim /etc/apache2/httpd.conf

#这里别忘记要替换一下libphp.so的文件路径哦

sudo apachectl restart

yangbai
如果非要用一种东西来记录我得生命历程,我会用朋友!

良好的心里,出众的发挥!

2.8k 声望
43 粉丝
0 条评论
推荐阅读
利用Charles做代理测试电脑上写的H5页面
做H5页面的同学可能经常会遇到一个场景,就是电脑上调试好的页面怎么在手机上访问测试呢? 下面就介绍一种自己经常使用的方式,利用Charles代理软件来实现! 安装Charles 直接去官网下载对应的系统版本安装即可。...

杨佰2阅读 5.8k

PHP转Go实践:xjson解析神器「开源工具集」
我和劲仔都是PHP转Go,身边越来越多做PHP的朋友也逐渐在用Go进行重构,重构过程中,会发现php的json解析操作(系列化与反序列化)是真的香,弱类型语言的各种隐式类型转换,很大程度的减低了程序的复杂度。

王中阳Go11阅读 2.7k评论 4

封面图
Git操作不规范,战友提刀来相见!
年终奖都没了,还要扣我绩效,门都没有,哈哈。这波骚Git操作我也是第一次用,担心闪了腰,所以不仅做了备份,也做了笔记,分享给大家。问题描述小A和我在同时开发一个功能模块,他在优化之前的代码逻辑,我在开...

王中阳Go6阅读 2.9k评论 4

封面图
图片防盗链破解 解决图片防盗链问题 反向代理
当客户端(浏览器)向服务器请求内容的时候,会提交一个header,这个header中包含了如:浏览器信息、cookie等内容,那么有一个叫referer的东东,也包含在这里面。

TANKING7阅读 11.7k评论 5

两分钟小技巧!如何阻止 macOS 的触底弹性滚动和双指手势导航
通常情况下,反弹效果可以反映出是否滚动到了边界,让滚动体验更加丝滑,算是一种体验的提升,但是如果页面总有fixed定位元素,同样也会受到影响,在视觉上不是那么美观,那有没有办法阻止呢?

XboxYan5阅读 1.7k

封面图
Hyperf 3.0 发布,PHP 新时代
在过去的一年半时间里,Hyperf 2.2 共发布了 35 个小版本,使 Hyperf 达到了一个前所未有的高度,这里也获得了一些不错的数据反馈。

huangzhhui4阅读 1.5k评论 1

封面图
微信公众号开发:自动回复文本/图片/图文消息/关键词回复/上传素材/自定义菜单
对接流程1、申请微信公众号测试账号URL:[链接]2、登录,配置开发者服务器URL和Token开发者服务器配置代码:config.php {代码...} URL是config.php在你服务器的URLToken是上面代码自己设置的Token搞定之后,就能完...

TANKING2阅读 10.5k

良好的心里,出众的发挥!

2.8k 声望
43 粉丝
宣传栏