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

自己测试 sudo brew install homebrew/php/php56 使用这种方式生成的 libphp5.so 文件的位置不在这段提示的位置"/usr/local/opt/php56/libexec/apache2/libphp5.so" 而是 “/usr/local/Cellar/php56/5.6.23/libexec/apache2/libphp5.so”(自己安装的是PHP56版本)

from segmentfault.com/a/1190000002924313
时间: 2024-09-30 09:52:26

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

mac 升级EI Capitan后遇到c++转lua时遇到libclang.dylib找不到的错

升级EI Capitan后,打包lua脚本时,会报这个错: LibclangError: dlopen(libclang.dylib, 6): image not found. To provide a path to libclang use Config.set_library_path() or Config.set_library_file(). 处理方法,重新设置libclang.dylib库的路径,打开 /Applications/Cocos/frameworks/cocos2d-x

Mac OS升级到Yosemite后一些问题

苹果"优山美地"採用移动设备平面风格,看起来还是相当清爽. 只是升级完还是有一些程序兼容性问题的. 1. 开发Android的程序猿们,Java se 6 须要升级到2014_001版:下载Java SE 6 2014 001 2. 使用Android Studio的程序猿们.Android Studio 的Git文件夹从/usr/local/bin/git ===> /usr/bin/git 3. 使用HomeBrew的同学们,yosemite 已经升级Ruby到2.0,须要改

升级到yosemite后homebrew报错的解决

报错会如下: /usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0 作者解释如

升级yosemite后java出错的解决

昨天升级mac os到yosemite后,因为是系统整体升级,有一些在设置会丢失,这是后话,先说说我在执行一个需要java参与的程序的时候得到如下错误: Error: JAVA_HOME is not defined correctly.We cannot execute /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java 查资料,得到苹果推荐你把JAVA_HOME设为/usr/libexec

Mac升级yosemite后无法登陆问题

Mac升级yosemite后无法登陆问题 今天心血来潮准备玩玩最新的苹果系统10.10,代号是yosemite.去官网申请了beta版的測试资格,然后在app store下载了一晚上得到了yosemite beta版本号. 升级安装过程非常顺利.可是坑爹对是我重新启动之后竟然登录不了了,一直是登录页面菊花中那转啊转的,非常久都进入不了系统. 当时给跪了.资料我都没有备份.还好有强大的谷歌.最终搜索到了解决方式,虚惊一场.这个登录问题网上普遍反映可能是第三方输入法或者清理软件比方CCleaner等

mac升级yosemite后php 扩展修复

mac升级之后 php 被自动升级,导致php环境破坏 所以 需要修复如下几点 1. sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include 注意红色的部分,如果你升级成mertricks 那么应该是10.10 如果你是最新的 yosemite 那么就是 10.0 如果执行这个命令报

mac升级yosemite后安装gd的freetype扩展

Mac升级系统到 Yosemite 10.10,对于各位Coder来说,还是需要一些时间来折腾的! @星空之下 同学反映 PHPCMS 的验证码图片不能正常显示,反馈该验证码需要GD库支持FreeType,这里尝试解决一下,如果问题,可交流! 先确认一下GD库是否已经支持,打印 phpinfo(); 发现 GD Support enabled,但并没有 FreeType 的信息,尝试如下: 安装 FreeType 前往苹果官方开源支持:http://www.apple.com/opensourc

mac 升级后 web 服务器起不来 问题

4. Apache 要本地调试代码的时候发现Apache也不能幸免地跪了.执行apachectl -v发现Apache已经更新到2.4.9版本了.一定又是因为版本更新出了什么差错. 4.1 修改httpd.conf 首先打开/private/etc/apache2/httpd.conf发现似乎恢复默认的设置了.重新将以下两行代码解注: Include /private/etc/apache2/extra/httpd-vhosts.conf ... LoadModule php5_module l

发生在升级OS X Yosemite后:修复各种开发环境

本博文最初发布于我的个人博客<Jerry的乐园> 终于还是忍不住升级了,促使我升级的原动力居然是Alfred的Yosemite theme居然比初始theme好看很多!在升级前就预想到我的开发环境是一定会被破坏的,所以升级好系统以后还是赶快看下发生了什么吧! 问题 一进新系统就发现phpstorm跪了,提示要装jre6才能用.好吧,然后陆陆续续逐渐发现好多东西都跪了.只能一个一个慢慢修复啦.目前可见的发生错误的环境有: PhpStorm Homebrew node.js 逐个击破 1. Php