如何为 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-dev
和 pkg-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-xxxxxxxx
将extension=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 扩展的主要内容,如果未能解决你的问题,请参考以下文章