zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    c#面向对象基础技能——学习笔记(五)委托技术在开发中的应用
    c#面向对象基础技能——学习笔记(三)基于OOP思想研究对象的【方法】
    c#面向对象基础技能——学习笔记(二)基于OOP思想研究对象的【属性】
    使用移位寄存器产生重复序列信号“100_0001”,移位寄存器的级数至少为?
    设计一个异步双端口RAM,深度为16,数据位宽为8bit
    soda水1块钱,硬币有五毛和一块两种:
    画状态机,接收1,2,5分钱的卖报机,每份报纸5分钱
    三极管
    画出可以检测10010串的状态图
    NOT、NAND、NOR符号
  • 原文地址:https://www.cnblogs.com/eYeah/p/5738662.html
Copyright © 2011-2022 走看看