php遇到错误Call to undefined function ImageCreate()解决方法
发布:smiling 来源: PHP粉丝网 添加日期:2022-05-14 10:47:30 浏览: 评论:0
刚配置好服务器,运行php的时候提示Call to undefined function imagecreate错误,经过百度发现是php不支持gd库,linux服务器需要重新make,windows下比较简单了,下面是具体的方法。
在使用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
Tags: Call to undefined function ImageCreate
- 上一篇:php头编码实例设置方法及代码
- 下一篇:最后一页
相关文章
- ·Call to undefined function php() (2013-11-28)
- ·Fatal error: Call to undefined function curl_init(2013-11-28)
- ·php错误提示:Call-time pass-by-reference has been deprecated(2013-12-04)
- ·php提示Call-time pass-by-reference has been deprecated错误(2014-09-21)
- ·php提示Fatal error: Call to undefined function imagecreate()(2014-09-21)
- ·php Fatal error: Call to undefined function imagecreatefromjpeg()(2015-04-04)
- ·PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决(2021-07-28)
- ·PHP __call()方法实现委托示例(2021-11-22)
- ·php 使用 __call实现重载功能示例(2022-01-22)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·KindEditor编辑器调用方法(2013-11-28)
- ·php 中调用fckeditor网页编辑器方法(2013-11-29)
- ·如何在php中配置fckeditor编辑器的方法(2014-01-03)
- ·php调用ckeditor?怎么调用ckeditor(2014-01-09)
- ·PHP sprintf()实现格式化输出(2014-03-15)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)