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

问题描述 投票:0回答:12

我正在尝试在网页上放置一些图形,并且在计算机上的原型上,它在本地主机上运行良好。但现在我将文件上传到服务器,但在绘制一些图形时遇到问题。在我的电脑上,它们被绘制出来,但在服务器上却没有。

我收到此错误

Fatal error: Call to undefined function ImageCreate() in /home/t1g01/phplot.php  on line 248

248号线

$this->img = ImageCreate($this->image_width, $this->image_height);

我正在使用 phplot,并且我也从 phplot 上传了文件。谁能帮助我吗?

抱歉有任何英语错误,提前谢谢您。

php graphics
12个回答
64
投票

这意味着您安装的 php 没有安装/启用 gd 库。

http://www.php.net/manual/en/image.installation.php


43
投票

如果您使用的是 Linux 机器,请从控制台执行以下命令:

sudo apt-get install php5-gd

安装 php_gd2.dll 扩展。 Apache 重新启动后它将开始工作。

PS:首先应该检查你当前的 php 版本

php -v

以我为例:

PHP 7.3.5-1+ubuntu18.04.1+deb.sury.org+1 (cli)(构建:2019 年 5 月 3 日) 10:00:24) ( NTS ) 版权所有 (c) 1997-2018 PHP Group Zend Engine v3.3.5,版权所有 (c) 1998-2018 Zend Technologies 和 Zend OPcache v7.3.5-1+ubuntu18.04.1+deb.sury.org+1,版权所有 (c) 1999-2018,作者 Zend 技术

所以,我的 PHP 版本是 7.3,所以,我的版本的命令是:

sudo apt-get install php7.3-gd

8
投票

对于 Fedora、CentOS

dnf install php-gd
systemctl restart httpd.service

在 Ubuntu 上

apt-cache search php*-gd
apt-get install php<version>-gd
systemctl restart apache2.service

Windows用户看到:http://php.net/manual/en/image.installation.php


7
投票

您的服务器很可能没有启用GD(内置的PHP图像处理库)。您可以通过在输出中查找“GD”来检查这一点:

<?php
phpinfo();
?>

如果没有,请检查 PHP 文档以了解如何启用它:http://www.php.net/manual/en/book.image.php


4
投票

对于任何 php 版本,ubuntu 安装命令是

apt-get install php-gd

它将安装与您的 php 版本匹配的版本,并且稍后将使用您的 php 版本进行更新。


3
投票
  1. 将文件 php_gd2.dll 从 PHP 的 ext/ 目录复制到 你有你的 php 扩展。 (如果扩展名中有php_gd2.dll则无需复制 已经是目录了。在 php.ini 中查找“extension_dir”指令 找到您当前的扩展目录是什么)

  2. 修改您的 php.ini 并更改以下行:

;extension=php_gd2.dll

至:

extension=php_gd2.dll

2
投票

看来你的GD库没有被使用。仔细检查您的

php.ini
文件。


1
投票

我知道这是一个旧线程,但我最近遇到了同样的致命错误:调用未定义的函数:imagecreate() 问题,同时使用 Windows 上安装的全新 Xampp 进行一些 QR 编码。

我通过首先在 php.ini 文件中查找 GD 扩展来解决该问题,并通过取消注释来解决该问题 ;扩展名=gd

随后,浏览器中就如预期生成了二维码。

注意:不要忘记重新启动 Apache 以使更改生效。


0
投票

对于 Ubuntu 16.04:

sudo apt-get install php7.0-gd

停止然后重新启动 Apache 服务器。

PS:首先应该检查你当前的 php 版本

php -v

以我为例:

PHP 7.3.5-1+ubuntu18.04.1+deb.sury.org+1 (cli)(构建:2019 年 5 月 3 日) 10:00:24) ( NTS ) 版权所有 (c) 1997-2018 PHP Group Zend Engine v3.3.5,版权所有 (c) 1998-2018 Zend Technologies 使用 Zend OPcache v7.3.5-1+ubuntu18.04.1+deb.sury.org+1,版权所有 (c) 1999-2018,Zend Technologies

所以,我的 PHP 版本是 7.3,所以,我的版本的命令是:

sudo apt-get install php7.3-gd

0
投票

PHP 7.4.0 更新 >

不应该安装任何外部库!

PHP 文档中所述:

从 PHP 7.4.0 开始,--with-png-dir 和 --with-zlib-dir 已被删除。需要 libpng 和 zlib。

PHP 7.4.0 及更新版本默认与 libpng 和 zlib 捆绑在一起

因此您只需取消注释

php.ini 文件中的 gd

 扩展名即可:

;extension=gd

 -> 
extension=gd

问题解决了:)


0
投票
按照

Gayan 的回答,对于 centOS,这对我有用:

yum install php-gd sudo systemctl restart httpd.service
    

-1
投票
如果安装后未运行,请不要忘记重新启动 apache 或 php-fpm

© www.soinside.com 2019 - 2024. All rights reserved.