美文网首页PHP实战
Homebrew安装PHP(new!)

Homebrew安装PHP(new!)

作者: 殷临风 | 来源:发表于2018-08-18 02:46 被阅读1814次

    由于Homebrew仓库的更新, 将homebrew/homebrew-php合并到homebrew/core中, 同时也去掉了php各种扩展包. 甚至php安装包的名称也做了统一修改

    以php7.1为例, 以前的安装方式是

    brew install php71
    

    而现在需要按照brew的统一包名称规范

    brew install php@7.1
    

    其中homebrew包管理工具的安装, 这里不做多的介绍

    对比以前的方式, 现在安装的php会附加更多的扩展, 比如mysql, gd相关的扩展都会统一安装进来. 对于一般的初学者, 确实方便了很多, 但对于使用框架的开发人员, 反而会因为找不到其他扩展而烦恼, 比如redis

    如果我们按照以前的方式安装redis扩展

    brew install php71-redis
    

    从结果来看, 这个安装包是找不到了, 那么这个时候, 我们有两种做法

    1. 通过源码编译安装
    2. 通过pecl安装

    这里, 我们选择第二种方式, 毕竟我们不想处理php和扩展包的版本依赖问题

    如果使用pecl安装, 首先得安装pear, 这个大家可以自行安装, 但这里有个好消息告诉大家, pecl工具已经在安装php@7.1时, 帮我们也一并安装了, 所以这里直接使用就好了

    上面展示的是php的bin目录, 可以看到pecl工具

    另外有个小插曲, 在mac系统版本为10.13之后, 系统默认的php版本是 7.1.16, 如果你通过brew安装了php, 要确认, 你在终端中的php命令一定是你通过brew安装的, 如果不是, 可以按照下面方法

    如果你熟悉hombrew的文件结构, 就会知道安装的可执行文件默认都在/usr/local/bin, 并且以软连接的形式存在, 那么我们可以把phppecl加进去

    cd /usr/local/bin
    ln -s ../Cellar/php@7.1/7.1.20/bin/php  php
    ln -s ../Cellar/php@7.1/7.1.20/bin/pecl  pecl
    

    注意改成自己的路径, 修改完成后, 重新打开终端

    php --version
    

    这个时候, 可以安装我们的扩展了

    pecl install redis
    

    可以看到, pecl会自动帮我们解决依赖关系, 下载合适的扩展版本

    但事情不总是那么顺利, 在mac下使用pecl, 一定要注意权限问题, 特别是pecl的下载目录和缓存目录的权限, 可以通过下面命令查看

    pecl config-show
    

    需要将文件的owner设置为自己, 否则会一直提示权限问题

    sudo chown -R magina:wheel /tmp/pear
    

    之后就可以正常安装了, 另外, 我们这里的redis扩展还需要依赖igbinary, 这个也是核心包中没有的, 所以还需要先安装它

    pecl install igbinary
    

    再安装redis扩展

    pecl install redis
    

    当我们安装完redis扩展后, 可以确认模块是否加载成功

    php -m | grep r
    

    php.ini配置文件中确认

    grep -rn 'redis' /usr/local/etc/php/php.ini
    

    确定so文件的位置, 可以通过查看pecl的编译后的文件路径

    pecl config-show
    
    ls /usr/local/lib/php/pecl/20160303
    

    可以看到我们通过pecl编译安装的扩展文件在里面

    相关文章

      网友评论

        本文标题:Homebrew安装PHP(new!)

        本文链接:https://www.haomeiwen.com/subject/neyxiftx.html