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

时间:2009-02-18 23:34:42

标签: php image-processing gd imagefilter

导致此错误的原因是什么?

Fatal error: Call to undefined function imagefilter() in /var/www/polaroid.php on line 5
  1 <?PHP
  2   $img_addr = $_GET['image_address'];
  3   $img = imagecreatefromjpeg($img_addr);
  4
      /* everything works as expected without this line */
  5   imagefilter($img, IMG_FILTER_GRAYSCALE);  
  6
  7   if ($img)
  8   {
        /* I moved the header function here so I can see errors in the browser. 
           If I leave it at the top of the file, the browser expects an image 
           and doesn't print the error messages. */
  9     header('Content-type: image/jpeg');
 10     imagejpeg($img);
 11   }
 12 ?>
 13

这是我使用的网址:

http://localhost/polaroid.php?image_address=http://mattnelsoninfo.files.wordpress.com/2008/04/ceiling_cat1.jpg

注意:gd列在phpinfo()的输出中。

编辑:我正在使用PHP版本5.2.6-2ubuntu4.1

另一个编辑:

phpinfo()在gd部分中产生了这个

gd
GD Support  enabled
GD Version  2.0 or higher
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.3.7
T1Lib Support   enabled
GIF Read Support    enabled
GIF Create Support  enabled
JPG Support     enabled
PNG Support     enabled
WBMP Support    enabled 

谢谢!

4 个答案:

答案 0 :(得分:3)

imagefilter似乎只有在捆绑的GD库中再次编译PHP时才可用,在你的情况下它不是(这是捆绑和启用之间的区别)。由于您使用的是Ubuntu,因此您在存储库中找到的php版本没有捆绑GD。

答案 1 :(得分:2)

您使用的是哪个版本的PHP?看起来imagefilter是一个PHP5函数...... http://us3.php.net/manual/en/function.imagefilter.php

编辑: 您的代码适用于我的PHP版本。作为参考,这是我的phpinfo:

gd
GD Support  enabled
**GD Version    bundled (2.0.34 compatible)**
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.1.9
T1Lib Support   enabled
GIF Read Support    enabled
GIF Create Support  enabled
JPG Support     enabled
PNG Support     enabled
WBMP Support    enabled
XBM Support     enabled

您可能希望确保捆绑了GD版本。我见过安装说GD支持已启用但未捆绑。不确定这是否会有所不同。

答案 2 :(得分:1)

http://www.php.net/manual/en/function.imagefilter.php有通知:

  

注意:只有在使用PHP编译PHP时,此功能才可用   捆绑版GD库。

答案 3 :(得分:0)

正如2016年的更新一样,PHP 5.3允许使用外部GD,但这在某些原因上并不清楚/精确。可信赖的PHP 5.5确实让所有这些图像功能都起作用,除了imageantialias,source https://bugs.launchpad.net/ubuntu/+source/php5/+bug/74647/comments/61(以及之前的评论)。