I have installed both ImageMagick and MagickWand in my ubuntu system by refering to the detailed instructions provided in Install ImageMagick From Source and MagickWand For PHP. When I chack whether ImageMagick is installed or not by command identify -version, it shows me follwing message
Version: ImageMagick 6.8.7-9 Q16 i686 2013-12-09 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates: bzlib djvu fontconfig freetype jng jp2 jpeg lcms lqr openexr pangocairo png tiff x xml zlib
That means Image Magick is installed. And When I check the version of MagickWand with MagickWand-config --version it also shows me the version number 6.8.7 Q16.
But problem is when I try to intialize the wrapper class of the MagickWand i.e. $magick_wand=NewMagickWand(); It shows me the Fatal Error as follows,
Fatal error: Call to undefined function NewMagickWand()
Can somebody tell me where did I make a mistake and how to make it work with php.
$img = new Imagick();
More info here: http://php.net/manual/en/book.imagick.php
This seems to have been the fix: http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22911
Related
1 - I´m loged to server via SSH;
2 - I runned command yum install ImageMagick ImageMagick-devel pcre-devel;
3 - I runned command /usr/bin/convert --version;
output:
Version: ImageMagick 6.9.10-68 Q16 x86_64 2021-10-14 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP(3.1)
Delegates (built-in): bzlib cairo fontconfig freetype gslib jng jp2 jpeg lcms ltdl lzma openexr pangocairo png ps rsvg tiff wmf x xml zlib
4 - my php version is 7.3.3;
5 - I runned command /opt/cpanel/ea-php73/root/usr/bin/pecl install imagick;
output:
(***)
Build process completed successfully
Installing '/opt/cpanel/ea-php73/root/usr/include/php/ext/imagick/php_imagick_sh ared.h'
Installing '/opt/cpanel/ea-php73/root/usr/lib64/php/modules/imagick.so'
install ok: channel://pecl.php.net/imagick-3.7.0
Extension imagick enabled in php.ini
6 - no imagick in phpinfo();
WHM version: 102.0.10;
What i missing?
I think the best way to install any module in Cpanel is by using Module Installers
check this
https://support.cpanel.net/hc/en-us/articles/360037048673-How-to-Install-ImageMagick-for-EA-PHP-and-ALT-PHP
also to make sure did you restart your web server after the installation?
I have installed my development server on my mac
Catalina 10.15.4
Apache (homebrew) => 2.4.43
PHP (homebrew) => 7.2.29
MySQL => 5.7.28
Imagemagick (homebrew) => 7.0.10
Imagick (homebrew) => 3.4.4
All Works perfectly! Except when i use imagemagick on a php script:
exec('convert -version', $debug, $return);
I get the error:
sh: convert: command not found
But when I do it on the mac Terminal, convert -version, it works! I get:
Version: ImageMagick 7.0.10-0 Q16 x86_64 2020-04-04 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(3.1)
Delegates (built-in): bzlib freetype gslib heic jng jp2 jpeg lcms ltdl lzma openexr png ps tiff webp xml zlib
I’ve read the following post and wasn’t able to fix it
https://stackoverflow.com/questions/28627473/error-for-convert-command-in-command-line
I did the following on the mac Terminal : which convert and I get :
/usr/local/bin/convert
My path looks like this:
PATH=/usr/local/opt/php#7.2/sbin:/usr/local/opt/php#7.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
When I open my phpinfo, I see the imagick, but not imagemagick, like so
At this point, I’m not sure what is the problem. Any ideas what it could be?
Use /usr/bin/magick instead.
convert is deprecated in v7+ if I am not mistaken.
I work under windows and wamp server.
this is my PHP code with Imagick
$imagick = new Imagick($_SERVER['DOCUMENT_ROOT'] . '/' . $this->_name);
where $_SERVER['DOCUMENT_ROOT'].'/'.$this->_name displays :
D:/Sources/my_project/public/media/2/9/1/05201502/55450e1b6543a05201502_9.PNG
I checked that image and it does exist in the folder.
But Imagick throws an exception :
Uncaught exception 'ImagickException' with message 'no decode delegate
for this image format
`D:/Sources/my_project/public/media/2/9/1/05201502/55450b10d8ea705201502_9.PNG'
# error/constitute.c/ReadImage/555' in
D:\Sources\my_project\library\project\Image.php on line 225
I looked for a solution, but didn't find any, how can I fix this?? thank you
Update: This is the result when I type convert -version in the command line :
Version: ImageMagick 6.8.8-4 Q16 x86 2014-01-29 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo freetype jbig jng jp2 jpeg lcms lqr pangocairo \
png ps rsv g tiff webp xml zlib
update
This is the phpinfo of imagick.
ImageMagick number of supported formats: 0
ImageMagick supported formats: no value
Seems that your ImageMagick PHP module does not support any image formats.
Try to find other ImageMagick installation or install PHP from the scratch.
Also - seems that there is already question/answer in SO about that
You should run
convert -version
and report the output. On my system it is
Version: ImageMagick 6.9.0-0 Q16 x86_64 2014-12-06 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc jbig \
jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png ps \
rsvg tiff webp wmf x xml zlib
Does your output include png as one of the built-in 'delegates'?
If not, update your installation, or build from current sources.
Finally I found solution for my windows openserver/nginx/php-fpm installation:
Download latest php_imagick distributive for your version of PHP from http://windows.php.net/downloads/pecl/releases/imagick/ (e.g. php_imagick-3.4.3-7.1-ts-vc14-x64.zip)
Extract only php_imagick.dll from this archive to your "php/ext" folder.
Run phpinfo() and check value at line "Imagick compiled with ImageMagick version" (mine was: "ImageMagick 6.9.3-7 Q16 x64 ...").
Now go to http://windows.php.net/downloads/pecl/deps/ and download correct version of Imagick-*.zip file (mine was: ImageMagick-6.9.3-7-vc14-x64.zip).
Extact this archive and copy all *.dll files from "/bin" folder to yout "php/ext" folder (about 145 files).
Restart server and check phpinfo(). ImageMagick now supports about 230+ formats.
Sometimes phpinfo() displays that imagick supports all formats, but php scripts are not respond - in this case double check that you download correct version of Imagick-*.zip for your installations. (ts/nts, VC11/VC14, x64/x86)
I read all the questions before posting this .
I am trying to install ImageMagick on my local system Windows 7.It gets installed without But when i try using it to crop images I get NoDecodeDelegateForThisImageFormat .
I am running Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
This is what i did
I installed ImageMagick ImageMagick-6.8.9-8-Q16-x86-dll.exe (I tried 6.8.1 and 6.7 also)
I got the dll from http://pecl.php.net/package/imagick/3.1.2/windows TS for PHP 5.4
Updated php.ini
The server started with out problem .
I checked via cmd the ImageMagick is working fine.
phpinfo() ImageMagick number of supported formats: 0
I tried many DLL's but none is working i need a solution to this .
Also phpinfo keeps on showing ImageMagick version:ImageMagick 6.8.8-4 Q16 x86 2014-01-29 even when i uninstalled it / updated it .
identify -version
Version: ImageMagick 6.8.9-8 Q16 x86 2014-08-26 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo freetype jbig jng jp2 jpeg lcms lqr pangocairo png ps rsv
g tiff webp xml zlib
I am trying to open Jpg.
ImageMagick inside php is a really different from the standalone cmd version.
So, you need not only the php_imagic.dll connected to your php.ini.
But also the CORE_RL_*_.dll files in the Apache bin directory.
This will enable the readers.
Now you need the ENcoders. These are obtained from the standalone installation and located in [ImageMagick install dir]\modules\coders. Copy them to Apache's bin directory as well.
Now check the phpinfo();
The downside of this is that you need to match dll's from Standalone version to the one that is Compiled in the php-extension.
I installed ImageMagick following the instructions on this site.
When I check my phpinfo() there is a whole section on imagick now.
imagick module enabled
imagick module version 3.0.1
imagick classes Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator
ImageMagick version ImageMagick 6.5.7-8 2010-12-02 Q16 http://www.imagemagick.org
ImageMagick copyright Copyright (C) 1999-2009 ImageMagick Studio LLC
ImageMagick release date 2010-12-02
ImageMagick number of supported formats: 202
However when I try to use it I get this error:
Fatal error: Call to undefined function NewMagickWand()
I have never used image magick before.
Did I not install it right? Is there more extensions I need to install?
You need the MagickWand module/extension installed for it to work. See: http://www.magickwand.org/