<返回更多

docker中的容器安装PHP扩展件

2019-11-18    
加入收藏
docker中的容器安装PHP扩展件

 

案例:
memcached是一个php的缓存扩展,通过它把数据库的查询结果缓存在内存中,而内存的读写速度比SSD还要快几十倍,解决了硬盘缓存速度的瓶颈,加快服务器网页加载速度。

流程:
一.前期构建PHP中的Dockerfile文件时,需要把对应的PHP扩展件的名字 
提供docker官网对应如何写入扩展件的方法

https://hub.docker.com/_/php/

二.如何安装docker中的PHP、NginxMySQLredis等环境在我的公众号中已介绍安装了。

三.了解PHP中对应容器中的id值:docker ps -a

docker中的容器安装PHP扩展件

 

四.进入容器id:1774c888f715

docker中的容器安装PHP扩展件

 

五.先安装两个插件
1.apt-get install yum -y
2.apt-get install wget -y

六.安装依赖包
1.apt-get install libmemcached-dev -y
2.apt-get install memcached -y

七.安装php-memcached

1 wget https://pecl.php.net/get/memcached-3.1.4.tgz//目前最新版本为3.1.4
 

docker中的容器安装PHP扩展件

 

2 tar -vxf memcached-3.1.4.tgz
 

3 cd memcached-3.1.4

4 找到phpize文件

find / -name phpize

docker中的容器安装PHP扩展件

 

没有执行 /usr/local/bin/phpize

文件中不存在 ./configure

docker中的容器安装PHP扩展件

 

执行 /usr/local/bin/phpize

//这是php-memcached编译的前置组件,一般在php的安装目录下可以找到;输出以下内容

docker中的容器安装PHP扩展件

 


docker中的容器安装PHP扩展件

 

5./configure --with-php-config=/usr/local/bin/php-config --enable-memcached//开始编译

6 make && make install//开始安装,留意最后输出的路径

#Build complete.

#Installing shared extensions:

# /usr/local/lib/php/extensions/no-debug-non-zts-20170718/

7 cd /usr/local/lib/php/extensions/no-debug-non-zts-20170718/

8 cp -rf *.so /usr/local/php/lib/php/extensions///将文件移动到extensions目录下

八.修改php.ini
在php.ini中加入

[Memcached]

extension=memcached.so //如果插件在其他目录,则填写对应目录的名称

执行docker restart 容器id //重启docker 中的php-fpm

九.查看phpinfo

docker中的容器安装PHP扩展件

 

十.配置memcached

memcached默认分配64M内存作为缓存,运行在11211端口,可以根据自己的需求修改

1 vim /etc/init.d/memcached

//找到以下字段,如果没有,则自行在开头注释字段后添加

PORT=11211 #端口,可以按自己需求修改

CACHESIZE=64 #缓存大小,单位为mb,可以按自己需求修改

2 /etc/init.d/memcached restart//重启让修改生效

十一.卸载

清除php.ini中的[Memcached]字段

1 rm -rf /usr/local/php/lib/php/extensions/memcached.so

2 apt-get remove libmemcached-dev memcached -y && apt-get autoremove && apt-get clean

3 执行docker restart 容器id //重启docker
更多技术问题:请关注技术分享社区头条号。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>