如何在MacOS High Sierra上安装php@7.1的memcached模块?

时间:2018-05-30 09:45:18

标签: php macos memcached macos-high-sierra

我遇到了为php 7.1安装memcached模块的问题。我使用MacOS High Sierra和php@7.1使用自制软件安装。在使用命令

安装php的memcached模块期间
  

pecl install memcached

我收到了错误:

  

检查zlib位置... configure:错误:memcached支持   需要ZLIB。使用--with-zlib-dir =指定前缀where   ZLIB头和库位于ERROR:   `/私有的/ tmp /梨/安装/分布式缓存/配置   --with-php-config=/usr/local/opt/php@7.1/bin/php-config --with-libmemcached-dir'失败

但我已经安装了zlib。我无法找到在homebrew存储库中更改后如何安装memcached模块的方法。

3 个答案:

答案 0 :(得分:15)

  1. pecl bundle memcached
  2. 更改为输出目录
  3. phpize
  4. 获取zlib目录(brew list zlib
  5. ./configure --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/(将zlib路径替换为上一个命令中的路径)
  6. make
  7. make install
  8. 在您的php.ini文件中添加扩展行(例如,更改路径以匹配make install输出。我将其添加到了/usr/local/etc/php/7.0/conf.d directory in a file called ext-memcached.ini

[memcached] extension=/usr/local/Cellar/php@7.0/7.0.30_1/pecl/20151012/memcached.so

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

答案 1 :(得分:0)

您可以使用环境变量 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

答案 2 :(得分:0)

安装 memcached 先决条件

  • 使用 brew install pkg-config zlib 安装 pkg-config 和 zlib
  • 检查您安装的 PHP 版本应该被链接。 php -v 告诉您哪个 php 版本对 cli 有效。
  • pecl config-get ext_dir 会告诉您设置了哪些版本的配置文件。
  • 获取安装 brew list zlib 时所需的 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 安装。为解决这个问题付出了很多努力。