【问题标题】:How to install memcached module for php@7.1 on MacOS High Sierra?如何在 MacOS High Sierra 上为 php@7.1 安装 memcached 模块?
【发布时间】:2018-11-09 02:52:15
【问题描述】:

我在为 php 7.1 安装 memcached 模块时遇到问题。我使用 MacOS High Sierra 和 php@7.1 使用 homebrew 安装。在使用命令为 php 安装 memcached 模块期间

pecl 安装内存缓存

我收到了错误:

检查 zlib 位置...配置:错误:memcached 支持 需要 ZLIB。使用 --with-zlib-dir= 指定前缀 where ZLIB 头文件和库位于错误: `/private/tmp/pear/install/memcached/configure --with-php-config=/usr/local/opt/php@7.1/bin/php-config --with-libmemcached-dir' 失败

但是我已经安装了 zlib。在自制存储库中发生更改后,我找不到如何安装 memcached 模块的方法。

【问题讨论】:

    标签: php macos memcached macos-high-sierra


    【解决方案1】:
    1. pecl bundle memcached
    2. 切换到它输出的目录
    3. phpize
    4. 确保已安装 libmemcached 和 zlib (brew install libmemcached zlib)
    5. 获取zlib目录(brew list zlib)
    6. ./configure --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/(将 zlib 路径替换为上一条命令中的路径)
    7. make
    8. make install
    9. 在您的 php.ini 文件中添加扩展行(例如,更改路径以匹配 make install 输出的内容。我将此添加到我的 /usr/local/etc/php/7.4/conf.d 目录中名为 ext-memcached.ini 的文件中

    [memcached] extension=memcached.so

    1. 验证您安装了模块 php -m 应该会在输出列表中显示 memcached

    【讨论】:

    • 谢谢!今晚你的回答救了我。
    • 谢谢!自 2019 年 5 月起在 PHP7.0 上工作
    • 这在 php 版本中继续有效,我最近使用 php 7.3.7 进行了测试。只要确保相应地编辑您的路径。 7.3 的 php 路径(我相信无论“当前”版本是什么)似乎是 /usr/local/Cellar/php 下的版本。这将是您在第 8 步中设置的扩展路径。
    • 要找到你的 php conf.d 文件,只需 php -i | grep php.ini 并使用第一个路径。我的是 /usr/local/etc/php/7.3 并 cd 进入 conf.d
    • 在 make install 之后,您可以使用:extension=memcached.so 而不是指定完整路径。
    【解决方案2】:

    您可以使用环境变量PHP_ZLIB_DIR 告诉它zlib 在哪里。

    PHP_ZLIB_DIR=/usr/local/opt/zlib pecl install memcached
    

    完整安装。

    brew install zlib
    yes no | PHP_ZLIB_DIR=$(brew --prefix zlib) pecl install memcached
    

    【讨论】:

      【解决方案3】:

      安装 memcached 的先决条件

      • 使用brew install pkg-config zlib 安装 pkg-config 和 zlib
      • 检查您安装的 PHP 版本应该被链接。 php -v 告诉你哪个 php 版本对 cli 有效。
      • pecl config-get ext_dir 会告诉你设置了哪些版本的配置文件。
      • 获取安装时所需的 zlib 配置路径brew list zlib 使用sudo pecl install memcached 安装 安装时会询问zlib directory [no] : 粘贴zlib 配置路径 /opt/homebrew/Cellar/zlib/1.2.11 示例zlib directory [no] : /opt/homebrew/Cellar/zlib/1.2.11

      重启你的 php 和 nginx/apache2 brew services restart php@7.2 brew services restart nginx brew services restart apache2

      您可以使用php -m检查扩展是否安装。

      注意:我正在使用MacPro M1 silicon chip 笔记本。使用homebrew 安装。努力解决这个问题。

      【讨论】:

        猜你喜欢
        • 2017-05-30
        • 2018-12-08
        • 1970-01-01
        • 2018-11-01
        • 2018-12-05
        • 2023-03-15
        • 2018-06-11
        • 2018-01-27
        • 1970-01-01
        相关资源
        最近更新 更多