如何在Mac OS 10.13上安装php-redis扩展?

时间:2018-07-12 13:44:51

标签: macos redis homebrew pecl

几天来,我正在尝试安装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.

尝试通过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

最后尝试安装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

2 个答案:

答案 0 :(得分:1)

我只是在Mac OS 10.13上做到了这一点(我仍在使用High Sierra)。

使用自制php7.2及更高版本时,pecl现在默认情况下与php二进制文件一起安装。

要亲自查看此内容,请输入which pecl

安装步骤

  1. 检查您的redis版本,然后找到扩展名here的合适版本。

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

  3. 问题pecl install redis 5.0.2。 (或您的版本)。对每个不确定的问题输入否。

  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

此操作于2019年9月进行,对我有用。

答案 1 :(得分:0)

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

  1. 重新启动Mac
  2. 在Mac启动时,键入Command + R,直到进入恢复模式
  3. 在恢复模式下,转到实用程序并选择终端
  4. 在终端输入df.replace({'z':''},np.nan).groupby('x').z.count().reset_index() x z 0 1 3 1 2 2 2 3 1
  5. 重新启动Mac并通过pecl重做redis安装

应该工作。