我的编程空间,编程开发者的网络收藏夹
学习永远不晚

docker安装php GD库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

docker安装php GD库

故事是这样的:

公司采购了一套商城源码,使用的是 TP5,同事先行,用宝塔部署到生产环境,运行正常。后面我忙完手里的项目,也加入其中,我本地使用的是 docker

当我部署好开始运行时,发现 在登录界面时 图形验证码 报错 500

然后我绞尽脑汁的在想,会是什么问题呢?

终于,想到了,GD 库,我看了一下 php 模块,确实,没有 GD 库,所以,就有了如下的文章。

进入 docker 容器后,我们可以先查看一下 php 模块

发现,确实没有 gd 库。

那好吧,咱们开始安装 gd 库!

第一步:安装依赖

apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libfreetype6-dev
E: Unable to locate package libjpeg62-turbo-dev
E: Unable to locate package libpng-dev

运行时,出现了上面这些信息,意思就是说,无法定位到这些包

解决方案是:我们先进行更新下载安装软件包命令

第二步:更新下载安装软件包命令

apt-get update

因为环境的原因,所以如果 同学一次性成功那是最好,如果出现了我这样的问题,那就要再多出几个步骤了。。

W: Failed to fetch http://deb.debian.org/debian/dists/bullseye/InRelease  Temporary failure resolving 'deb.debian.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.

当出现上面这些警告,那就是说,我们更新失败。。

是什么原因呢?镜像,我们要切换成我们国内的,这里我们示例 阿里云镜像。

cat /etc/resolv.conf

执行上面的命令,会输出:

nameserver 127.0.0.11
options ndots:0

我们就需要在这个文件中,加入 阿里云的镜像

vim /etc/resolv.conf

bash: vim: command not found

如果哈,如果出现上面这个 "找不到命令",那么恭喜,请去看我另外一篇文章吧:

docker 容器里bash: vim: command not found_龙枫995的博客-CSDN博客docker 容器里bash: vim: command not foundhttps://blog.csdn.net/longfeng995/article/details/130558108

偷偷的告诉你们一个秘密:因为我们 apt-get update 出现了异常,所以上面这篇文章,最后也是执行失败。。。。

那怎么办?无解啦!!!

这时候,我突然想到,咱们不是可以在 母机 中,直接复制文件到容器里的嘛,那么我们就:

在我们本地,先创建一个文件,内容写好,然后复制到容器里替换掉就可以啦。

首先,退出容器,在我们本地创建一个文件:resolv.conf

内容为:

nameserver 127.0.0.11options ndots:0nameserver 223.5.5.5  nameserver 223.6.6.6

然后执行下面这段命令:

docker cp resolv.conf 容器名称:/tmp

注意事项:

  1. resolv.conf,文件的路径,我这里直接使用,是因为我命令行 是这个文件一样的路径,如果你的命令行和这个文件不在同一个目录下,你就得这样,参考:/d/docker/resolv.conf
  2. 容器名称,得改成你的"容器名称",或者"容器ID"

然后我们再进入容器,去到 /tmp 目录

cd /tmp/ls

就能看到 resolv.conf 文件存在这里了,然后再看看内容:

cat resolv.conf

nameserver 127.0.0.11
options ndots:0

nameserver 223.5.5.5
nameserver 223.6.6.6

输出的内容,和我们本地是一样的,那么ok 继续!!

我们需要将这个文件替换原来的,执行下面这个命令:

cp resolv.conf /etc/resolv.conf

替换后,我们再查看一下试试:

cat /etc/resolv.conf

输出的内容,如果和上面是一样的,那么我们就可以回到最开始的命令

再执行试一下:(这次过程可能稍微较长了,也可能是因为网络原因,我这边更新蛮久的)

apt-get update

Reading package lists... Done

最后输出以上内容,那就成功了,太感动了。

这时候,我们就可以退回第一步,安装依赖!

apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev

最后,只要没输出 ERR 这类错误,或者 W 开头的警告,就代表成功!

第三步:安装 GD 库

然后我们再回到第一步中,执行安装 GD 库:

docker-php-ext-install gd

执行上面之后,无异常,也就代表成功!

然后我们再看一下 php 的模块:

太好了,这次有 GD库了

过程太繁琐了,不过结果是好的! 

退出容器,重启容器

我们输出一下 phpinfo() 查看 GD

nice,存在!

然后这时候又出现问题,人家这套商城代码,还是会 报错,然后我就找到异常,毕竟 前端控制台里,就只给了一个 500

我是完全不懂,为什么错误,然后我就找到了这个执行的地方

哼!没有这个方法 imagettftext()

阿巴阿巴....

说实话,到这一步 我有一点疲惫了。。。

最后还是想着,咬咬牙 来吧,都到这一步了,就差一步了,就修成正果了!

翻阅各类资料,最后找到了。

我们重新进入容器,安装一些扩展

apt install libjpeg62-turbo-dev libfreetype6-dev -ysu -c "docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg"su -c "docker-php-ext-install gd"

依次执行上面的命令即可。

再退出容器,重启容器

输出 phpinfo() 看看

可以看到,和上一次相比,多了几个。

然后我们再尝试一下,这次是否还有问题

终于,终于,终于,我快哭了。

来源地址:https://blog.csdn.net/longfeng995/article/details/131473101

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

docker安装php GD库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

php安装gd库的方法

小编给大家分享一下php安装gd库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法一:我们最开始不知道GD库在哪里的时候可以在计算机中进行搜索,像我这样在
2023-06-14

Centos7下PHP安装gd库的实例讲解

Centos7下安装php, 或php的gd库支持,都是很简单的。 一切通过yum搞定。yum install php-gd 以上命令就搞定php-gd的支持,快快看看phpinfo是否支持了? 可是,如果需要采用不同版本的php时
2022-06-04

在 Ubuntu 中安装 PHP-GD

Graphics Draw (GD) 是一个用于创建和操作图像的开源库。 该库支持多种编程语言,包括 PHP。该库称为 php-gd for PHP。 本教程将引导您在 Ubuntu(LAMP 堆栈)中安装 PHP GD。在 Ubuntu
在 Ubuntu 中安装 PHP-GD
2024-02-27

如何编译安装php gd

编译安装php gd的方法:1、安装zlib;2、安装freetype;3、安装libpng;4、安装libjpeg;5、通过“make && make install”安装gd扩展即可。
2021-11-27

如何编译安装php gd

如何编译安装PHPGD本指南提供逐步说明,指导您在Linux、Windows和macOS系统上编译和安装PHPGD扩展。该过程涉及安装依赖项、编译PHP、复制相关库文件,并重新启动Web服务器。成功安装后,您可以通过在PHP文件中使用phpinfo()函数进行验证。指南还包含疑难解答提示和有关配置及禁用GD的附加信息。
如何编译安装php gd
2024-04-25

ubuntu中怎么安装php-gd

今天小编给大家分享一下ubuntu中怎么安装php-gd的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。ubuntu安装php
2023-07-04

ubuntu php怎么安装gd扩展

ubuntu php安装gd扩展的方法:1、找到想要安装php版本的gd;2、通过“apt-get install php7.2-gd”命令进行安装即可。
2020-05-18

centos7 PHP环境搭建 GD库 等插件安装方法

安装Apache 1.安装yum -y install httpd2.开启apache服务systemctl start httpd.service3.设置apache服务开机启动systemctl enable httpd.ser
2022-06-04
2023-08-31

利用Centos php扩展方式安装gd库的方法

这篇文章主要介绍“利用Centos php扩展方式安装gd库的方法”,在日常操作中,相信很多人在利用Centos php扩展方式安装gd库的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”利用Centos
2023-06-10

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录