docker php 容器安装redis和mongodb扩展

一、背景

很多项目(几乎所有)都有用到redis和mongodb来存储数据,php没有自带这些扩展,需要手动安装

二、PHP redis扩展安装步骤

这里以php8.2版本容器为例,以下命令中'php82'均为容器名称,需要更换为你自己的实际名称,使用容器ID也可以
  1. 进入容器
bash 复制代码
docker exec -it php82 /bin/bash
  1. 安装Redis依赖库
bash 复制代码
apt-get update
apt-get install -y git unzip
apt-get install -y git build-essential
  1. 克隆phpredis源代码并切换到合适的分支(根据你的PHP版本选择)
bash 复制代码
git clone https://github.com/phpredis/phpredis.git
cd phpredis
  1. 构建和安装扩展
bash 复制代码
phpize
./configure
make && make install
  1. 在PHP配置文件中启用扩展
bash 复制代码
echo "extension=redis.so" >> /usr/local/etc/php/conf.d/docker-php-ext-redis.ini
  1. 重新启动 php-fpm 服务
bash 复制代码
docker restart php82

完成上面步骤,使用 `php -m | grep redis` 查看是否安装完成

如上图所示,即 php redis 扩展安装完成

三、PHP mongodb扩展安装步骤

  1. 进入容器
bash 复制代码
docker exec -it php82 /bin/bash
  1. 安装Redis依赖库
bash 复制代码
apt-get install -y libssl-dev
  1. 下载并编译MongoDB扩展
bash 复制代码
pecl install mongodb
  1. 在PHP配置文件中启用MongoDB扩展
bash 复制代码
echo "extension=mongodb.so" >> /usr/local/etc/php/conf.d/docker-php-ext-mongodb.ini
  1. 重新启动 php-fpm 服务
bash 复制代码
docker restart php82

完成上面步骤,使用 `php -m | grep mongodb` 查看是否安装完成

如上图所示,即 php mongodb 扩展安装完成

至此,小功告成,继续下一步探索吧~

相关推荐
我不会起名字3226 小时前
Redis 从 0 到 1(十七):订单 30 分钟不支付自动关闭——ZSet 延迟队列 Go 实现
redis·go·延迟队列·zset·订单
螺蛳粉 螺蛳粉7 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
利威尔xu8 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
will_net9 小时前
Redis集群部署+Redis 链接地址放入Aollo +c#项目接入Redis
redis·c#·bootstrap
PellyKoo10 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
时早玖沐10 小时前
放弃 QQ 官方机器人:用 SnowLuma + AstrBot 自建 QQ 机器人
docker·开源·agent
用户69190268133911 小时前
Redis 1:简述Redis概念与Agent的联系
redis·后端·设计
阿标在干嘛11 小时前
容器编排的“场景适配”:我们为什么在部分服务中回归了Docker Compose?
运维·docker·容器
小南家的青蛙13 小时前
华为云DCS全形态原生Redis命令兼容性测试方案
redis·华为云·兼容性·兼容性测试·dcs