PHP Docker镜像如何开启拓展

背景

很久之前,有一个ctf比赛,大家都在俱乐部里使劲。当时我做到了一道php的题目,里面需要用到php插件中的压缩,但是当时我不知道如何开启插件,当时非常苦恼,想着一定要解决一下这个问题,不然以后再遇到这个问题就麻烦了。

今天在做sql盲注的时候,想现在本地实践一番,写出个脚本再开题目。结果本地上来就给我一个mysqli找不到。我便花了很长时间去寻找开启插件的方法。在php.ini里试了一下,但是都没有成果,最终我开了一眼dockerhub的php镜像说明,豁然开朗,原来镜像开始拓展如此简单。

解决办法

官方原话。

docker-php-ext

官方提供了几个命令,docker-php-ext-configuredocker-php-ext-installdocker-php-ext-enalbe来轻松地安装拓展。

但是官方给地例子都是需要在Dockerfile里先运行然后生成镜像的,这貌似有点麻烦。

然后我在github上发现了这位老哥的留言,它说这些命令其实完全可以在容器内部使用。

牛逼的老哥

其实我应该想到的,毕竟Dockerfile中的RUN实际上就是执行内部的命令然后生成一个新的镜像。

这样安装mysqli拓展就显得无比简单了,只需在容器内部执行

docker-php-ext-install mysqli
docker-php-ext-enable mysqli #实际测试这句话可以不写,会自动应用
apachectl restart

运行结果

phpinfo中出现mysqlil

成功利用mysqli连接

战术总结

这次算是解决了一个重大历史遗留问题。

以后php的时候就可以更加游刃有余了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值