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

目录
  • 常规Ubuntu与windows
  • 编译make安装方法
  • phpize方法
  • centos安装GD库

在使用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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-09-15

ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法

本文实例讲述了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法.分享给大家供大家参考.具体如下: 一.问题描述: ThinkPHP做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示call an undefined function exif_imagetype(). 二.解决方法: 出现这个错误就是php.in 配置问题,打开即可:打开扩展 exten

Fatal error: Call to undefined function curl_init()解决方法

首先要确定php已经扩展 在php.ini中 复制代码 代码如下: extension=php_curl.dll 还要保证 php_curl.dll 复制到php安装目录下的ext下,libeay32.dll和ssleay32.dll复制到php安装目录下.(我的配置文件是system32,和php5ts.dll一个地) 记得重启Apache. 正解,over!

Apache启动提示错误undefined symbol: libiconv_open解决方法

昨晚整合apache和php是实在找不到解决办法,Google 百度都转一圈了,总算在百度找回来解决方法,记录一下,这个问题是在apache启动时出现的: ./apachectl  start提示下面的错误: 复制代码 代码如下: httpd: Syntax error on line 57 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /

MySQL 出现错误1418 的原因分析及解决方法

MySQL 出现错误1418 的原因分析及解决方法 具体错误: 使用mysql创建.调用存储过程,函数以及触发器的时候会有错误符号为1418错误. ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* want to use the less safe log

PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析

本文实例讲述了PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法.分享给大家供大家参考,具体如下: 环境错误级别:error_reporting =E_ALL 某天我在研究一下php下的正则替换函数perg_replace(), 示例: 代码: $subject="2222<b>a</b>2222fff222222222A22222"; $pattern = "/(a)/e&q

Eclipse 项目出现错误(红色叹号)解决方法

Eclipse 项目出现错误(红色叹号)解决方法 情况:就是项目出现红色感叹号  解决方法: 对准项目右键选择Build Path → configure build path 点击eclipse项目的configure build path后,在弹出来的窗口中,找到Libraries页签,可以看到一些jar包是红色叉号的,这种jar包就是找不到对应文件的jar包,引起这种eclipse项目前面出现红色叹号.eclipse项目前面出现红色感叹号.eclipse项目前面出现红色惊叹号.eclips

一个applicationContext 加载错误导致的阻塞问题及解决方法

问题为对接一个sso的验证模块,正确的对接姿势为,接入一个 filter, 然后接入一个 SsoListener . 然而在接入之后,却导致了应用无法正常启动,或者说看起来很奇怪,来看下都遇到什么样的问题,以及是如何处理的? 还是 web.xml, 原本是这样的: (很简洁!) <?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns="http://java.sun.com/xml/n

PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法

在一台处理网络支付的服务器迁移的时候,发现不能支付. PHP环境:PHP版本为5.3.3系统为Red Hat 4.1.2-54 查看apache的错误日志,发现是加密文件中一个函数bcmul()报错: 复制代码 代码如下: PHP Fatal error:  Call to undefined function bcmul() in /php_rsa.php on line xxx 解决办法:使用如下命令: 复制代码 代码如下: yum install php-bcmath 就安装好了. 如果出

PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法

做开发的时候,操作session有时候会遇到这个问题:Warning: session_start() [function.session-start]-- 系统环境:WIN2003+IIS6+PHP5.2.12 PHP出现类似如下错误: Warning: session_start()[function.session-start]: ...... failed: No such file or directory......等情况, 可以偿试修改一下php.ini文件中的session.au

对于技术人员的出现了运行时间错误,是否要进行调试的解决方法

第一种:针对网页制作者这个是我们讨论的重点,这样的情况我么需要检查脚本错误,并根据提示的错误行数迅速锁定所在行,并解决,如果是新手应该就没那么容易了,本站提供了一个在线运行脚本并提示错误相对详细的错误提醒在线JS脚本校验器检测js错误如果仍不能解决问题,或这个问题并不影响我们想要得到的结果我们可以用 复制代码 代码如下: window.onerror=function{return true} 放到js代码中即可第二种:针对用户的解决方法通常上网的时候会碰到这种错误,其实这是你访问网站的网页中有