Mac 下 2018-03-31 后安装 PHP 扩展方法,如 Redis、Imagick、Igbinary 等

版权声明:Max Sky 原创文章,转载时请保留所有权并以超链接形式标明文章出处。否则将追究相关法律责任。 https://blog.csdn.net/maxsky/article/details/80280404

可参考 Mac HomeBrew 自 18-03-31 起弃用 homebrew/php 后安装 Xdebug 方法 这篇博文

在 HomeBrew 中,扩展都不再可以直接通过 brew install php71-XXX 的形式安装

而 PHP 还可以,名称发生变更 php56 => php@5.6; php71 => php@7.1,大致就是这样

好在还可以用 pecl 命令,这玩意儿和 brew 类似,不过需要稍微手动操作一下:

  1. 戳开终端,输入 pecl 回车,可以看到基本的命令

    pecl

  2. 如前文说的安装 Xdebug,只需要执行 pecl install xdebug 就行,同理需要安装 imagickredis 等扩展都可以直接运行:

    pecl install imagick
    pecl install redis

    如果输入命令后提示 No releases available for package,可以用 pecl search 搜索内容 先查找一下包是否存在,然后下方会提示你相关包的名称,再 pecl install 包名 就行了。

    有时候会遇到安装失败,仔细查看最后几行的错误提示,一般情况下是因为相应的包没有安装导致,例如安装 Imagick 就需要 imagemagick 这个库,可以通过 brew install imagemagick 安装。

  3. 安装后的 .so 文件会在终端中提示:

    安装位置

    也就是 /usr/local/Cellar/php@7.1/7.1.17/pecl/20160303/【具体路径以自己当前使用的 PHP 版本运行 pecl 命令后的结果为准】

  4. 在上方链接中的另一篇博文说过了,因为 PHP 的更新,这个路径可能发生变化,所以我建议换一个位置存放这些文件,/usr/local/lib/php 这个路径就不错,我们可以在这个目录内新建 ext 目录(任意取名,extextensions 都行)。

    然后将 /usr/local/Cellar/php@7.1/7.1.17/pecl/20160303/ 目录内的所有 .so 文件复制(建议复制,不是剪切移动,考虑到更新问题)到 /usr/local/lib/php/ext 目录

  5. 最后就是进入 /usr/local/etc/php/版本号/conf.d 目录,新建配置文件就行了,为了方便,我们可以只建立一个 exts.ini 文件就行了:

    [Xdebug]
    zend_extension="/usr/local/lib/php/extensions/xdebug.so"
    xdebug.var_display_max_children=512
    xdebug.var_display_max_data=2048
    xdebug.var_display_max_depth=8
    [Redis]
    extension="/usr/local/lib/php/extensions/redis.so"
    [Imagick]
    extension="/usr/local/lib/php/extensions/imagick.so"
    [Igbinary]
    extension="/usr/local/lib/php/extensions/igbinary.so"
    session.serialize_handler=igbinary
    igbinary.compact_strings=On
  6. 没其他操作了,重启一下 PHP 生效 brew services restart php71


阅读更多

没有更多推荐了,返回首页