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 扩展安装完成

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

相关推荐
小灰灰的可爱无人可替代2 小时前
记录一次使用docker和docker-compose更新vue前端项目问题
nginx·docker·vue
qq_5470261793 小时前
SpringBoot+Redis实现电商秒杀方案
spring boot·redis·后端
Logintern094 小时前
windows如何设置mongodb的副本集
数据库·windows·mongodb
野犬寒鸦7 小时前
从零起步学习Redis || 第十一章:主从切换时的哨兵机制如何实现及项目实战
java·服务器·数据库·redis·后端·缓存
problc8 小时前
PostgreSQL + Redis + Elasticsearch 实时同步方案实践:从触发器到高性能搜索
redis·elasticsearch·postgresql
清风6666668 小时前
基于单片机的蓝牙可调PWM波形发生器设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计
Logintern098 小时前
只有通过Motor 获取 mongodb的collection,才能正常使用 async with collection.watch()监听集合变更
数据库·mongodb
yinke小琪9 小时前
从秒杀系统崩溃到支撑千万流量:我的Redis分布式锁踩坑实录
java·redis·后端
Python私教9 小时前
5分钟上手 MongoDB:从零安装到第一条数据插入(Windows / macOS / Linux 全平台图解)
windows·mongodb·macos
会跑的葫芦怪9 小时前
Go语言操作Redis
开发语言·redis·golang