sail 安装扩展
遇到了安装扩展的需求,看到了这个帖子,研究了一下,成了,记录一下。
问答:Laravel Sail 如何安装 PHP 扩展,连接 sqlserver
这个提问给出了答案,下面我来实操一下。
思路
sail是基于docker的,所以修改sail启动时的dockerfile文件,将安装依赖的命令加入到dockerfile文件中,然后再重新build一下镜像,再启动就👌了。
开始干
我的项目要用到图片处理,所以我要安装的扩展是imagick
sail artisan sail:publish
在项目目录下使用这个命令将dockerfile暴露在项目下,执行完这个命令之后,在项目下会多出一个docker文件夹,再进入对应php版本的目录,打开对应的dockerfile文件。
可以看到安装依赖是使用的apt-get安装的,所以我们要解决的问题是知道imagick扩展对应需要安装的包名字,然后在这个文件中加上一行扩展的名字就👌了。
获取扩展的名字
docker ps
查看sail的容器id
strat-container这个名字的容器是sail的容器,复制CONTAINER ID,
docker exec -it 45f33ad4539d /bin/bash;
这样就进入到sail的容器里面了,在容器里面执行
apt-get update
apt-cache search php8.1-
就可以列出所有可用的包
这里!!
复制这个名字,然后我们打开项目下的dockerfile文件,加上安装此扩展的命令
重新build一下容器
sail build --no-cache
执行下面的命令重启容器
sail down
sail up -d
就搞定了
执行sail php -m 可以看到已经安装成功了。
本作品采用《CC 协议》,转载必须注明作者和本文链接
国内的云服务商都容易超时,用不了,都是自己写的Dockerfile