Неустранимая ошибка: вызов неопределенной функции imagefilter () - PullRequest
0 голосов
/ 19 февраля 2009

Что вызывает эту ошибку?

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

Это URL, который я использую:

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 ]

3 голосов
/ 07 февраля 2010

imagefilter, по-видимому, доступен только в том случае, если PHP скомпилирован снова в комплекте с библиотекой GD, что в вашем случае не так (в этом разница между включенным и включенным). Поскольку вы используете Ubuntu, версия php, которую вы найдете в репозитории, не имеет GD в комплекте.

2 голосов
/ 19 февраля 2009

Какую версию PHP вы используете? Похоже, что imagefilter - это функция PHP5 ... http://us3.php.net/manual/en/function.imagefilter.php

EDIT: Ваш код работает на моей версии 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 включена, но не в комплекте. Не уверен, если это имеет значение, хотя.

1 голос
/ 07 января 2011

http://www.php.net/manual/en/function.imagefilter.php есть уведомление:

Примечание : эта функция доступна, только если PHP скомпилирован с пакетная версия библиотеки GD.

0 голосов
/ 19 ноября 2016

Так же, как и в обновлении 2016 года, PHP 5.3 позволял использовать внешний GD, но по какой-то причине это не сработало. У trusty в PHP 5.5 все эти функции изображений работают, кроме imageantialias, source https://bugs.launchpad.net/ubuntu/+source/php5/+bug/74647/comments/61 (и предыдущих комментариев).

...