imagecreatefromjpeg和类似的函数在PHP中不起作用

时间:2012-11-12 04:21:39

标签: php gd

我已经搜索过这个,过去问题中提供的解决方案对我来说完全不可理解。每当我运行像imagecreatefromjpeg这样的函数时,我都会得到:

  

致命错误:调用未定义的函数imagecreatefromjpeg()...

我正在进行新的PHP安装;我的上次安装从未遇到过这个问题。我不知道发生了什么。

11 个答案:

答案 0 :(得分:77)

答案 1 :(得分:60)

在Ubuntu / Mint(基于Debian)

$ sudo apt-get install php5-gd

答案 2 :(得分:13)

您必须启用库GD2。

找到你的(正确的)php.ini文件

找到以下行:; extension = php_gd2.dll并删除前面的分号。

该行应如下所示:

extension=php_gd2.dll

然后重启apache,你应该好好去。

答案 3 :(得分:9)

安装php5-gd 后,需要重启

答案 4 :(得分:9)

sudo apt-get install phpx.x-gd 
sudo service apache2 restart

x.x是versiónphp。

答案 5 :(得分:8)

对于Ubuntu上的php 7:

  

sudo apt-get install php7.0-gd

答案 6 :(得分:7)

即使安装了GD,您仍然可以获得Fatal error: Call to undefined function imagecreatefromjpeg()

解决方案是安装/启用jped lib:

Ubuntu

    apt-get install libjpeg-dev
    apt-get install libfreetype6-dev

CentOS

    yum install libjpeg-devel
    yum install freetype-devel

如果从源代码编译,请添加--with-jpeg-dir --with-freetype-dir--with-jpeg-dir=/usr --with-freetype-dir=/usr

有关详细信息,请查看https://www.tectut.com/2015/10/solved-call-to-undefined-function-imagecreatefromjpeg/

答案 7 :(得分:7)

如果您像我一样,并且使用PHP Docker images之一作为基础,则需要使用与上面讨论的内容不同的说明来添加gd扩展名。

对于php:7.4.1-apache图片,您需要在Dockerfile中添加:

RUN apt-get update && \
    apt-get install -y zlib1g-dev libpng-dev libjpeg-dev

RUN docker-php-ext-configure gd --with-jpeg && \
    docker-php-ext-install gd

这些dev软件包是GD php扩展编译所必需的。对我来说,这导致了在PHP中使用PNG和JPEG支持激活GD。

答案 8 :(得分:5)

在CentOS,RedHat等中使用以下命令。别忘了重启Apache。因为必须加载PHP模块。

yum -y install php-gd
service httpd restart

答案 9 :(得分:1)

之后
systemctl restart php-fpm
Gd库起作用。

答案 10 :(得分:1)

如前所述,您可能需要安装GD库。

在外壳上,首先检查您的php版本:
php -v

然后进行相应安装。在我的系统(Linux-Ubuntu)中,它的php版本是7.0:
sudo apt-get install php7.0-gd

重新启动您的Web服务器:
systemctl restart apache2

您现在应该已经安装并启用了GD库。