如何在 mac os 10.13 上安装 php-redis 扩展?

Kon*_*xim 7 macos homebrew pecl redis

几天来,我一直在尝试安装 php-redis 扩展。

尝试使用 brew 并得到这个......

$ brew install php71-redis
Error: No available formula with the name "php71-redis" 
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
Run Code Online (Sandbox Code Playgroud)

尝试使用 PECL 安装并获得此...

    $ sudo pecl install redis
    downloading redis-4.1.0.tgz ...
    Starting to download redis-4.1.0.tgz (220,774 bytes)
    ..............................................done: 220,774 bytes
    25 source files, building
    running: phpize
    Configuring for:
    PHP Api Version:         20160303
    Zend Module Api No:      20160303
    Zend Extension Api No:   320160303
   ************

   ************
    checking whether to enable igbinary serializer support... yes
    checking whether to enable lzf compression... yes
    checking use system liblzf... no
    checking for igbinary includes... configure: error: Cannot find igbinary.h
    ERROR: `/private/tmp/pear/install/redis/configure --with-php-config=/usr/bin/php-config --enable-redis-igbinary=??? --enable-redis-lzf=yes' failed
Run Code Online (Sandbox Code Playgroud)

最后尝试安装 igbinary.h ....

$ sudo pecl install igbinary
downloading igbinary-2.0.7.tgz ...
Starting to download igbinary-2.0.7.tgz (73,523 bytes)

   ************

   ************


Build process completed successfully
Installing '/usr/include/php/ext/igbinary/igbinary.h'
ERROR: failed to mkdir /usr/include/php/ext/igbinary
Run Code Online (Sandbox Code Playgroud)

mwa*_*wal 5

我刚刚在 Mac OS 10.13 上做了这个(我还在使用 High Sierra)。

使用自制 php7.2 及更高版本,pecl现在默认安装在 php 二进制文件旁边。

要亲自查看,请键入which pecl.

安装步骤

  1. 检查您的 redis 版本,然后在此处找到合适的扩展版本。

  2. 如果不熟悉 pecl,请键入pecl以查看选项。

  3. 问题pecl install redis 5.0.2。(或您的版本)。如果您不确定,请对提出的每个问题输入 no。

  4. 如果成功,请检查它在以下位置创建的新文件: /usr/local/lib/php/pecl/20180731/redis.so

  5. 安装将添加extension="redis.so"到您的 php ini 顶部。通过打开文件来检查/usr/local/etc/php/7.3/php.ini。(假设你在 7.3 那里)

  6. brew services restart php.

  7. php -i | grep Redis

Redis Support => enabled
Redis Version => 5.0.2
Run Code Online (Sandbox Code Playgroud)

这是在 2019 年 9 月完成的,它对我有用。


Mil*_*vic 0

为此,请尝试在 OSx (Mac) 上禁用 csrutil:

  1. 重新启动你的Mac
  2. Mac 启动时,输入 Command + R,直到进入恢复模式
  3. 在恢复模式下,转到实用程序并选择终端
  4. 在终端类型中csrutil disable
  5. 重新启动你的Mac并通过pecl重新安装redis

应该管用。