Фатальная ошибка:Вызов неопределенной функции imagefilter()

StackOverflow https://stackoverflow.com/questions/563355

Вопрос

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

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 

Спасибо!

Это было полезно?

Решение

Какую версию 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 включена, но не включена в комплект.Хотя не уверен, что это имеет значение.

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top