Xpoint
   [напомнить пароль]

установка расширения gmagick в php

Метки: [без меток]
2009-10-29 10:51:05 [обр] Амир(0/4)[досье]

не удается установить расширение pecl gmagick
во время ввода команды: # pecl install gmagick-1.0.2b2
выводит следущее:
downloading gmagick-1.0.2b2.tgz ...
Starting to download gmagick-1.0.2b2.tgz (35,022 bytes)
.........done: 35,022 bytes
9 source files, building
running: phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519

далее выскакивает диалог:

  1. Please provide the prefix of GraphicsMagick installation : autodetect

1-1, 'all', 'abort', or Enter to continue:
пробывал все, и 1-1 и all и оставлял autodetect нажимая просто enter
выдает следущее:
building in /var/tmp/pear-build-root/gmagick-1.0.2b2
running: /tmp/pear/temp/gmagick/configure --with-gmagick
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc and cc understand -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
checking for PHP extension directory... /usr/lib/php5/20060613+lfs
checking for PHP installed headers prefix... /usr/include/php5
checking for re2c... re2c
checking for re2c version... 0.13.5 (ok)
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking whether to enable the gmagick extension... yes, shared
checking GraphicsMagick configuration program... configure: error: not found. Please provide a path to GraphicsMagick-config program.
ERROR: `/tmp/pear/temp/gmagick/configure --with-gmagick' failed


как я понял открыв файл в каталоге /tmp/pear/download/gmagick-1.0.2b2/config.m4
в выскакиваемом диалоге,просят указать директорию где установлено приложение GraphicsMagick:
вот этот конфиг:


PHP_ARG_WITH(gmagick, whether to enable the gmagick extension,
[ --with-gmagick[=DIR] Enables the gmagick extension. DIR is the prefix to GraphicsMagick installation directory.], no)

if test $PHP_GMAGICK != "no"; then

      AC_MSG_CHECKING(GraphicsMagick configuration program)
   
for i in $PHP_GMAGICK /usr/local /usr;
      do
         test -r $i/bin/GraphicsMagick-config && WAND_BINARY=$i/bin/GraphicsMagick-config && break
      done
      
if test -z "$WAND_BINARY"; then
         AC_MSG_ERROR(not found. Please provide a path to GraphicsMagick-config program.)
      fi
      
AC_MSG_RESULT(found in $WAND_BINARY)
      
AC_MSG_CHECKING(GraphicsMagick version)
      WAND_DIR=`$WAND_BINARY --prefix`

      GRAPHICSMAGICK_VERSION_ORIG=`$WAND_BINARY --version`
      GRAPHICSMAGICK_VERSION_MASK=`echo ${GRAPHICSMAGICK_VERSION_ORIG} | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`

      if test "$GRAPHICSMAGICK_VERSION_MASK" -ge 1001000; then
         AC_MSG_RESULT(found version $GRAPHICSMAGICK_VERSION_ORIG)
      else
         AC_MSG_ERROR(no. You need at least GraphicsMagick version 1.1.0 to use Gmagick.)
      fi

      PHP_ADD_LIBRARY_WITH_PATH(GraphicsMagick, $WAND_DIR/lib, GMAGICK_SHARED_LIBADD)
      PHP_ADD_LIBRARY_WITH_PATH(GraphicsMagickWand, $WAND_DIR/lib, GMAGICK_SHARED_LIBADD)
      PHP_ADD_INCLUDE($WAND_DIR/include/GraphicsMagick)

      PHP_NEW_EXTENSION(gmagick, gmagick_helpers.c gmagick_methods.c gmagick.c gmagickdraw_methods.c gmagickpixel_methods.c, $ext_shared)

      PHP_SUBST(GMAGICK_SHARED_LIBADD)
      AC_DEFINE(HAVE_GMAGICK,1,[ ])
      AC_DEFINE(GMAGICK_LIB_MASK,$GRAPHICSMAGICK_VERSION_MASK,[Version mask for comparisons])
fi


у меня приложение GraphicsMagick, установлено тут:/usr/bin/gm
настройки приложения тут /usr/share/GraphicsMagick-1.1.11
но попытка ввода в диалоге :

  1. Please provide the prefix of GraphicsMagick installation : autodetect

1-1, 'all', 'abort', or Enter to continue: all а затем gm или /usr/bin/gm выдает слежущее:
checking GraphicsMagick configuration program... configure: error: not found. Please provide a path to GraphicsMagick-config program.
ERROR: `/tmp/pear/temp/gmagick/configure --with-gmagick=gm' failed
ERROR: `/tmp/pear/temp/gmagick/configure --with-gmagick=/usr/bin/gm' failed


прошу вас,подскажите пожалуйста,какие мои действия были не правильные?

спустя 46 минут [обр] Алексей Полушин(62/231)[досье]
Есть подозрение, что вам надо установить пакет libgraphicsmagick1-dev
спустя 9 минут [обр] Амир(0/4)[досье]
спасибо большое!
Build process completed successfully
Installing '/usr/lib/php5/20060613+lfs/gmagick.so'
install ok: channel://pecl.php.net/gmagick-1.0.2b2
configuration option "php_ini" is not set to php.ini location
You should add "extension=gmagick.so" to php.ini
спустя 2 дня 7 часов [обр] Амир(0/4)[досье]

стесняюсь спросить, ни у кого нет API по gamagick php ?
а то,разобраться не могу и поиск не помогает.

как применять GmagickDraw class не могу понять.
к примеру пишу:
<?php
$image = new Gmagick($file);
$image->thumbnailImage( 200, null );
$image->medianfilterimage (0.3);
$t = new GmagickDraw;
$image->annotateimage ( $t, 5, 10, 3, 'my text');
header( "Content-Type: image/jpeg" );
echo $image;
?>
вроде правильно всё получается.
А если пытаюсь углы закруглить у превью изображения, применив GmagickDraw::roundrectangle
ничего не удаётся.
вот так к примеру:
<?php
$file = 'med.jpg';
$image = new Gmagick($file);
$image->thumbnailImage( 200, null );
$image->medianfilterimage (0.3);
$draw = new GmagickDraw;
$draw->roundrectangle (5, 5, 5, 5, 50, 60);
$image->drawimage($draw);
header( "Content-Type: image/jpeg" );
echo $image;
?>
то углы не закругляются.
смотрел тут http://manual.pohape.ru/ ничего не нашёл.
$ man gm тоже смотрел,тут не понятно :
       -draw <string>
              annotate an image with one or more graphic primitives

              Use this option to annotate an image with one or more graphic
              primitives. The primitives include shapes, text, transforma‐
              tions, and pixel operations. The shape primitives are

                   point x,y
                   line x0,y0 x1,y1
                   rectangle x0,y0 x1,y1
                   roundRectangle x0,y0 x1,y1 wc,hc
                   arc x0,y0 x1,y1 a0,a1
                   ellipse x0,y0 rx,ry a0,a1
                   circle x0,y0 x1,y1
                   polyline x0,y0 ... xn,yn
                   polygon x0,y0 ... xn,yn
                   Bezier x0,y0 ... xn,yn
                   path path specification
                   image operator x0,y0 w,h filename

если есть API поделитесь пожалуйста,мне бы просто посмотреть как правильно применять эти классы,на примерах.
или даже не только php api, а просто при работе в терминале.

спустя 4 часа 3 минуты [обр] Амир(0/4)[досье]
exec('gm convert '.$file.' -draw \’roundRectangle 5,5 5,5 0,0\’ draw.jpg'); просто создает файл исходный =(
Powered by POEM™ Engine Copyright © 2002-2005