سؤال

ما الذي يسبب هذا الخطأ؟

خطأ فادح: اتصل بالدالة غير المحددة ImageFilter () في /var/www/polaroid.php على السطر 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.wimpress.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 الخارجي، ولكن هذا لم يعمل لسبب ما في الوضوح / الدقيق. Trusty، مع PHP 5.5، لديه كل هذه الوظائف هذه تعمل باستثناء imageAntias، المصدر https://bugs.launchpad.net/ubuntu/source/php5/7bug/74647/comments/61. (والتعليقات السابقة).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top