在使用php处理一些图像时,有时会出现诸如这样的错误:Call to undefined function imagecreate()

这是由于没有安装或是没有开启php的gd库导致的问题。

常规Ubuntu与windows

解决方案:

一、在linux系统(这里用的是Ubuntu系统)下

首先在终端输入下列命令:

sudo apt-get install php5-gd

这样就已经安装完php的gd库了。如果使用的是apache服务器,这时还需重启下服务器:

sudo service apache2 restart

如果是nginx则可用可不用。

二、在windows系统下

打开php安装目录下的php.ini配置文件,找到这一行:

;extension=php_gd2.dll

将这一行前面的;号去掉,然后保存。这样已经开启了gd扩展库。

最后重启下服务器就行了。

编译make安装方法

在编译配置扩展的时候就没加上gd的同学可以参考下面的方法

找到安装php的目录下,重新配置扩展

make clean
./configure --prefix=/png/php/5.6.40 --enable-fpm --with-apxs2=/usr/bin/apxs2 --enable-maintainer-zts -with-mysqli --with-pdo-mysql --with-pdo-sqlite --with-gd
make
make test
make install

./configure --with-gd有了就行,其他的扩展看需求

vim打开php.ini

搜索

#vim命令关键字搜索: (1) 点ESC (2)/“关键字”

/extension=php_gd2.dll

找到这行去掉前面的分号“;”

保存退出,重启nginx,apache2重启apache2

/etc/init.d/httpd restart

index.php查找gd,,,成功!

phpize方法

原因:未安装php的gd库,主要处理图片的库

解决方法:

在已经安装php的情况先,需要对PHP进行扩展,加入gd库

1:进入到php源码里面的gd目录下

cd /usr/src/php-5.5.38/ext/gd/

2:执行phpize (命令在php/bin/目录下)

phpize

3:编译安装

./configure --with-php-config=/usr/local/php5/bin/php-config --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd
make
make install

会报错,执行下面命令:

yum install libpng
yum install libpng-devel
yum install freetype-devel

此时安装完成后会生成一个gd.so的文件,记住这个路径

ls /usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/
curl.so gd.so opcache.so pcntl.so pdo_mysql.so

4:修改php的配置文件php.ini将gd.so的路径加入进去,如下加入到最后面就行

vim /usr/local/php5/php.ini
[root@slb03 ~]# tail -1 /usr/local/php5/php.ini
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/gd.so

5:重启apache服务

/etc/init.d/httpd restart

centos安装GD库

采用phpize的方式安装,也不成功

提示Cannot find config.m4.

[root@hotdata gd]# php -i | grep -i --color gd
PWD => /usr/include/php/ext/gd
_SERVER["PWD"] => /usr/include/php/ext/gd

[root@hotdata gd]# yum -y install m4
Loaded plugins: security
Setting up Install Process
Package m4-1.4.13-5.el6.x86_64 already installed and latest version
Nothing to do
[root@hotdata gd]# yum -y install autoconf
Loaded plugins: security
Setting up Install Process
Package autoconf-2.63-5.1.el6.noarch already installed and latest version
Nothing to do
[root@hotdata gd]# /usr/bin/phpize 
Cannot find config.m4. 
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module

直接使用yum命令安装不成功,错误信息如下:
主要提示信息为需要安装依赖包,可是我已经安装了

# yum install gd gd-devel php-gd
Loaded plugins: security
Setting up Install Process
Package gd-2.0.35-11.el6.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package gd-devel.x86_64 0:2.0.35-11.el6 will be installed
--> Processing Dependency: libpng-devel for package: gd-devel-2.0.35-11.el6.x86_64
--> Processing Dependency: libjpeg-devel for package: gd-devel-2.0.35-11.el6.x86_64
--> Processing Dependency: libXpm-devel for package: gd-devel-2.0.35-11.el6.x86_64
--> Processing Dependency: libX11-devel for package: gd-devel-2.0.35-11.el6.x86_64
--> Processing Dependency: freetype-devel for package: gd-devel-2.0.35-11.el6.x86_64
--> Processing Dependency: fontconfig-devel for package: gd-devel-2.0.35-11.el6.x86_64
---> Package php-gd.x86_64 0:5.4.45-56.el6.art will be installed
--> Processing Dependency: php-common(x86-64) = 5.4.45-56.el6.art for package: php-gd-5.4.45-56.el6.art.x86_64
--> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.4.45-56.el6.art.x86_64
--> Running transaction check
---> Package fontconfig-devel.x86_64 0:2.8.0-5.el6 will be installed
---> Package freetype-devel.x86_64 0:2.3.11-17.el6 will be installed
--> Processing Dependency: freetype = 2.3.11-17.el6 for package: freetype-devel-2.3.11-17.el6.x86_64
---> Package libX11-devel.x86_64 0:1.6.4-3.el6 will be installed
--> Processing Dependency: libX11 = 1.6.4-3.el6 for package: libX11-devel-1.6.4-3.el6.x86_64
--> Processing Dependency: pkgconfig(xcb) >= 1.11.1 for package: libX11-devel-1.6.4-3.el6.x86_64
--> Processing Dependency: pkgconfig(xproto) for package: libX11-devel-1.6.4-3.el6.x86_64
--> Processing Dependency: pkgconfig(xcb) for package: libX11-devel-1.6.4-3.el6.x86_64
--> Processing Dependency: pkgconfig(kbproto) for package: libX11-devel-1.6.4-3.el6.x86_64
---> Package libXpm-devel.x86_64 0:3.5.10-2.el6 will be installed
--> Processing Dependency: libXt.so.6()(64bit) for package: libXpm-devel-3.5.10-2.el6.x86_64
---> Package libjpeg-turbo-devel.x86_64 0:1.2.1-3.el6_5 will be installed
---> Package libpng-devel.x86_64 2:1.2.49-2.el6_7 will be installed
---> Package php-gd.x86_64 0:5.4.45-56.el6.art will be installed
--> Processing Dependency: php-common(x86-64) = 5.4.45-56.el6.art for package: php-gd-5.4.45-56.el6.art.x86_64
---> Package t1lib.x86_64 0:5.1.2-6.el6_2.1 will be installed
--> Running transaction check
---> Package freetype.x86_64 0:2.3.11-15.el6_6.1 will be updated
---> Package freetype.x86_64 0:2.3.11-17.el6 will be an update
---> Package libX11.x86_64 0:1.6.0-6.el6 will be updated
---> Package libX11.x86_64 0:1.6.4-3.el6 will be an update
--> Processing Dependency: libX11-common = 1.6.4-3.el6 for package: libX11-1.6.4-3.el6.x86_64
---> Package libXt.x86_64 0:1.1.4-6.1.el6 will be installed
---> Package libxcb-devel.x86_64 0:1.12-4.el6 will be installed
--> Processing Dependency: libxcb = 1.12-4.el6 for package: libxcb-devel-1.12-4.el6.x86_64
--> Processing Dependency: pkgconfig(xau) >= 0.99.2 for package: libxcb-devel-1.12-4.el6.x86_64
--> Processing Dependency: libxcb-xkb.so.1()(64bit) for package: libxcb-devel-1.12-4.el6.x86_64
--> Processing Dependency: libxcb-xinput.so.0()(64bit) for package: libxcb-devel-1.12-4.el6.x86_64
--> Processing Dependency: libxcb-sync.so.1()(64bit) for package: libxcb-devel-1.12-4.el6.x86_64
--> Processing Dependency: libxcb-present.so.0()(64bit) for package: libxcb-devel-1.12-4.el6.x86_64
--> Processing Dependency: libxcb-dri3.so.0()(64bit) for package: libxcb-devel-1.12-4.el6.x86_64
---> Package php-gd.x86_64 0:5.4.45-56.el6.art will be installed
--> Processing Dependency: php-common(x86-64) = 5.4.45-56.el6.art for package: php-gd-5.4.45-56.el6.art.x86_64
---> Package xorg-x11-proto-devel.noarch 0:7.7-14.el6 will be installed
--> Running transaction check
---> Package libX11-common.noarch 0:1.6.0-6.el6 will be updated
---> Package libX11-common.noarch 0:1.6.4-3.el6 will be an update
---> Package libXau-devel.x86_64 0:1.0.6-4.el6 will be installed
---> Package libxcb.x86_64 0:1.9.1-3.el6 will be updated
---> Package libxcb.x86_64 0:1.12-4.el6 will be an update
---> Package php-gd.x86_64 0:5.4.45-56.el6.art will be installed
--> Processing Dependency: php-common(x86-64) = 5.4.45-56.el6.art for package: php-gd-5.4.45-56.el6.art.x86_64
--> Finished Dependency Resolution
Error: Package: php-gd-5.4.45-56.el6.art.x86_64 (atomic)
           Requires: php-common(x86-64) = 5.4.45-56.el6.art
           Installed: php-common-5.6.16-1.el6.remi.x86_64 (@remi-php56)
               php-common(x86-64) = 5.6.16-1.el6.remi
           Available: php-common-5.3.3-49.el6.x86_64 (base)
               php-common(x86-64) = 5.3.3-49.el6
           Available: php-common-5.4.45-54.el6.art.x86_64 (atomic)
               php-common(x86-64) = 5.4.45-54.el6.art
           Available: php-common-5.4.45-56.el6.art.x86_64 (atomic)
               php-common(x86-64) = 5.4.45-56.el6.art
           Available: php55w-common-5.5.38-1.w6.x86_64 (webtatic)
               php-common(x86-64) = 5.5.38-1.w6
           Available: php56w-common-5.6.40-1.w6.x86_64 (webtatic)
               php-common(x86-64) = 5.6.40-1.w6
           Available: php70w-common-7.0.33-1.w6.x86_64 (webtatic)
               php-common(x86-64) = 7.0.33-1.w6
           Available: php71w-common-7.1.26-1.w6.x86_64 (webtatic)
               php-common(x86-64) = 7.1.26-1.w6
           Available: php71w-common-7.1.27-1.w6.x86_64 (webtatic)
               php-common(x86-64) = 7.1.27-1.w6
           Available: php71w-common-7.1.28-1.w6.x86_64 (webtatic)
               php-common(x86-64) = 7.1.28-1.w6
           Available: php71w-common-7.1.29-1.w6.x86_64 (webtatic)
               php-common(x86-64) = 7.1.29-1.w6
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

最后采用这种方式安装成功了

yum install php-gd --enablerepo=remi-php56

到此这篇关于php遇到错误Call to undefined function ImageCreate()解决方法的文章就介绍到这了,更多相关undefined function ImageCreate内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

php遇到错误Call to undefined function ImageCreate()解决方法的更多相关文章

  1. 简单了解JavaScript中的new Function

    这篇文章主要介绍了简单了解JavaScript中的new Function,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  2. vue打包报错:ERROR in static/js/xxx.js from UglifyJs undefined问题

    这篇文章主要介绍了vue打包报错:ERROR in static/js/xxx.js from UglifyJs undefined问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 一文让你彻底弄懂js中undefined和null的区别

    JavaScript是一门动态类型语言,元素除了表示存在的空值外,还有可能根本就不存在,这就是undefined存在的原因,这篇文章主要给大家介绍了关于undefined和null区别的相关资料,需要的朋友可以参考下

  4. Java 8 中 Function 接口使用方法介绍

    这篇文章主要介绍了Java 8中 Function接口使用方法介绍,Java8中提供了一个函数式接口Function,这个接口表示对一个参数做一些操作然后返回操作之后的值

  5. vue在取对象长度length时候出现undefined的解决

    这篇文章主要介绍了vue在取对象长度length时候出现undefined的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  6. JavaScript之不可靠的undefined

    这篇文章主要介绍了JavaScript之不可靠的undefined,想深入JS的同学,可以参考下

  7. react component function组件使用详解

    这篇文章主要为大家介绍了react component function组件的使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  8. 深入理解JS中的Function.prototype.bind()方法

    bind 是 ES5 中新增的一个方法,可以改变函数内部的this指向。这篇文章小编将带领大家深入理解Javascript中的Function.prototype.bind()方法。有需要的朋友们可以参考借鉴,下面来一起看看吧。

  9. Javascript基础_简单比较undefined和null 值

    下面小编就为大家带来一篇Javascript基础_简单比较undefined和null 值。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. php遇到错误Call to undefined function ImageCreate()解决方法

    刚配置好服务器,运行php的时候提示Call to undefined function imagecreate错误,经过百度发现是php不支持gd库,linux服务器需要重新make,windows下比较简单了,下面是具体的方法

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部