如何为 php 7 安装 redis 扩展

Posted

技术标签:

【中文标题】如何为 php 7 安装 redis 扩展【英文标题】:How to install redis extension for php 7 【发布时间】:2018-04-07 21:48:58 【问题描述】:

引用此链接https://anton.logvinenko.name/en/blog/how-to-install-redis-and-redis-php-client.html

并完成以下步骤

适用于 PHP 7 的 PhpRedis(如果您有不同的 PHP 版本,请跳过它)

安装所需的包

apt-get install php7.0-dev

下载 PhpRedis

cd /tmp
wget https://github.com/phpredis/phpredis/archive/php7.zip -O phpredis.zip

但是,https://github.com/phpredis/phpredis/archive/php7.zip 找不到安装文件。

【问题讨论】:

【参考方案1】:

尝试使用这个网址https://github.com/phpredis/phpredis/archive/5.2.2.zip

wget https://github.com/phpredis/phpredis/archive/5.2.2.zip -O phpredis.zip

或者使用这个命令:

sudo apt-get install php-redis

【讨论】:

【参考方案2】:

昨天,我在我的 Vagrant box (/etc/php/7.0) 上安装了 Redis:

sudo pecl install redis sudo service php7.0-fpm restart

(可选:运行 php -m 以列出 php 模块)。

现在,您可以在 php 代码中使用 Redis 类。

【讨论】:

我不得不做一些额外的工作:sudo pecl install redis 之后:echo "extension=redis.so" > /etc/php/7.0/mods-available/redis.ini && ln -sf /etc/php/7.0/mods-available/redis.ini /etc/php/7.0/fpm/conf.d/20-redis.ini && ln -sf /etc/php/7.0/mods-available/redis.ini /etc/php/7.0/cli/conf.d/20-redis.ini。然后sudo service php7.0-fpm restart && sudo apache2ctl restart就成功了。 如果你有 PHP 7.3 和 nginx:那么sudo pecl install redis: echo "extension=redis.so" > /etc/php/7.3/mods-available/redis.ini && ln -sf /etc/php/7.3/mods-available/redis.ini /etc/php/7.3/fpm/conf.d/20-redis.ini && ln -sf /etc/php/7.3/mods-available/redis.ini /etc/php/7.3/cli/conf.d/20-redis.ini。然后sudo service php7.0-fpm restart & sudo service nginx restart【参考方案3】:

我从 ubuntu 中找到了一个 repository:

sudo apt-get install php-redis
安装后重启 apache。

【讨论】:

【参考方案4】:

我刚刚为 Cent os 7 运行了以下命令

yum install php-redis

解决了我的问题,我在 php.ini 中手动添加了配置

您应该在 php.ini 中添加“extension=redis.so”

【讨论】:

【参考方案5】:

对于使用 MAMP 的人,您希望通过 MAMP 执行 pecl 安装程序。这是来自https://github.com/phpredis/phpredis/blob/develop/INSTALL.markdown 的分期付款。

/Applications/MAMP/bin/php/php7.3.9/bin/pecl install redis

将 php 版本更改为您的。

安装成功后,大概会这样说:

configuration option "php_ini" is not set to php.ini location
You should add "extension=redis.so" to php.ini

所以你需要去你的 php.ini,并添加extension=redis.so

对我来说,这个文件夹是:/Applications/MAMP/bin/php/php7.3.9/conf/php.ini

重启你的MAMP后,你会在这个页面看到一个redis模块(端口可能不一样):http://localhost:8888/MAMP/index.php?language=English&page=phpinfo

【讨论】:

【参考方案6】:

对于基于 Debian 的 Linux 发行版,您需要一个 php-devpkg-php-tools 软件包来从 phpredis 源代码构建原生 PHP 扩展:

sudo apt update && \
    sudo apt install php-dev pkg-php-tools --yes && \
    sudo pecl channel-update pecl.php.net && \
    sudo pecl install redis

【讨论】:

【参考方案7】:

This GitHub is a great resource for MAMP users.

对于 Mac 用户:

    从repo 的相应子目录下载redis.so 基于主要和次要版本号 X.Y (following semver)。 将文件移动到 /Applications/MAMP/bin/php/phpX.Y.X/lib/php/extensions/no-debug-non-zts-xxxxxxxxextension=redis.so添加到php.ini的末尾

上面更新的资源,之前列出的this

【讨论】:

不工作!我正在使用 php 7.2.7,最后可用的是 7.1.8 @rohitcoder 试试这个github.com/jrquick17/php-extension-library【参考方案8】:

使用命令安装redis:

sudo apt-get install php7.0-redis

【讨论】:

以上是关于如何为 php 7 安装 redis 扩展的主要内容,如果未能解决你的问题,请参考以下文章

如何为PHP安装mongodb的扩展

如何为 XAMPP 安装 PECL HTTP 扩展?

如何为 xampp 的 php 7.3 添加 GD 支持?

如何为 xsl-fo 中的每个页面添加页眉和页脚以生成 pdf

如何为User.php扩展多个内容

phpize安装PHP扩展