【问题标题】:Warning: session_start(): Cannot find save handler 'redis'警告:session_start():找不到保存处理程序“redis”
【发布时间】:2021-09-13 05:42:54
【问题描述】:

我想将 php.ini 设置为使用 Redis 作为会话处理程序。我是这样做的:

session.save_handler = redis
session.save_path = tcp://172.17.0.2:6379

我的 Php 应用程序和 Redis 在 2 个不同的容器中运行。 这是我试图在 Php 中运行的代码:

<?php
if(!isset($_SESSION)){
        session_start();
}
?>

由于我的搜索,我发现我应该安装:

sudo apt-get install php5-redis

但是E: Unable to locate package php5-redis 我也试过:php-redisphp7-redisphp7.4-redis 和相同的结果。 apt-cache search php | grep -i redis 的结果是:

libphp-predis - Flexible and feature-complete PHP client library for the Redis key-value store

怎么了?

【问题讨论】:

  • 您使用的是什么版本的 PHP 以及在什么操作系统、Ubuntu 或 Debian 上,哪个版本?试试php -v。还要列出所有可用的软件包apt-cache search php | grep -i redis,看看你应该安装哪一个。
  • @AndreaOlivato Php 7 和 debian 问题为 apt-cache 更新

标签: php docker redis debian containers


【解决方案1】:

你需要使用pecl来安装redis:

pecl install redis

更多详情是here

如果您使用 docker insert 到 Dockerfile 中:

RUN pecl install redis \
&& docker-php-ext-enable redis

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 2012-10-19
    • 2013-06-11
    • 1970-01-01
    相关资源
    最近更新 更多