PHP Docker镜像如何开启拓展 - wuuconix's blog
2023-06-13 09:17:26 时间
背景
很久之前,有一个ctf比赛,大家都在俱乐部里使劲。当时我做到了一道php的题目,里面需要用到php插件中的压缩,但是当时我不知道如何开启插件,当时非常苦恼,想着一定要解决一下这个问题,不然以后再遇到这个问题就麻烦了。
今天在做sql盲注的时候,想现在本地实践一番,写出个脚本再开题目。结果本地上来就给我一个mysqli找不到
。我便花了很长时间去寻找开启插件的方法。在php.ini
里试了一下,但是都没有成果,最终我开了一眼dockerhub的php镜像说明,豁然开朗,原来镜像开始拓展如此简单。
解决办法
官方原话。
官方提供了几个命令,docker-php-ext-configure
、docker-php-ext-install
、docker-php-ext-enalbe
来轻松地安装拓展。
但是官方给地例子都是需要在Dockerfile里先运行然后生成镜像的,这貌似有点麻烦。
然后我在github上发现了这位老哥的留言,它说这些命令其实完全可以在容器内部使用。
其实我应该想到的,毕竟Dockerfile中的RUN实际上就是执行内部的命令然后生成一个新的镜像。
这样安装mysqli拓展就显得无比简单了,只需在容器内部执行
123 | docker-php-ext-install mysqlidocker-php-ext-enable mysqli #实际测试这句话可以不写,会自动应用apachectl restart |
---|
战术总结
这次算是解决了一个重大历史遗留问题。
以后php的时候就可以更加游刃有余了。
相关文章
- k8s和docker区别
- Docker--可视化Web管理工具 Portainer(五)
- Docker安装Mysql
- windows升级docker-compose
- 使用docker运行redmine
- 「 【Docker】利用宝塔docker管理器搭建为知笔记(docker安装为知笔记) 」
- 软件测试|一键搞定centos7的docker+selenium+appium+jenkins+android_app源码打包成apk的环境搭建
- 【Docker 系列】docker 学习 四,镜像相关原理
- 【Docker 系列】docker 学习六,探究一下数据卷容器
- 使用Docker Compose 部署FATE v1.5.0
- docker 日志大小限制详解程序员
- 删除Docker中所有已停止的容器详解程序员
- 数据库PHP究竟如何还原MySQL数据库?(php还原mysql)
- PHP使用Redis实现高性能缓存(php-redis)
- Linux系统下PHP安装Redis扩展的步骤(php安装redis)
- Docker基础之一: Docker架构
- PHP如何正确输出MySQL中文字符避免乱码?(php输出mysql乱码)
- PHP如何获取MySQL版本?(php获取mysql版本)
- 使用PHP连接Oracle数据库(php连接oracle)
- PHP操作MySQL:删除字段(php删除mysql字段)
- 如何在Linux下快速搭建PHP环境(linux下php环境搭建)
- Ubunt环境下docker安装部署和知识点整理
- 基于 PHP 和 MSSQL 的连接类开发实战(php mssql连接类)
- Linux下快速搭建PHP开发环境(linux php集成环境)
- 利用PHP和MySQL建立连接的简单方式(php和mysql 连接)
- PHP开启Redis扩展:实现网站快速加载(php开启redis扩展)
- 以Redis为中心 轻松实现PHP消息订阅(redis消息订阅php)
- PHP和Mysqlweb应用开发核心技术第1部分Php基础-1开始了解php