installed imagick not seen by php_info - php

I am not very experienced on linux, and need help here.
I have installed ImageMagick, and you can see the version below:
[root#zpanel temp]# convert -version
Version: ImageMagick 6.8.5-4 2013-05-02 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2013 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates: bzlib fontconfig freetype jng jp2 jpeg lcms png ps tiff x xml zlib
But I cannot see it in my php_info(check url : http://www.galepress.com/phpinfo.php). I have restarted httpd etc, but no good.
ps : I have also run the following command and get the warnings:
[root#zpanel temp]# php -m | grep imagick
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/src/imagick-3.0.1/modules/imagick.so' - libMagickWand.so.2: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/imagick.so' - /usr/lib64/php/modules/imagick.so: cannot open shared object file: No such file or directory in Unknown on line 0

How to install php5-imagick package on Debian:
apt-get install php5-imagick
In case of dependencies problem you may need to try installing the older version:
apt-get install php5-imagick/oldstable
If everything goes well, don't forget to restart the Apache service:
/etc/init.d/apache2 restart

You need to install ImageMagick for php environment.
So, for now you have installed ImageMagick only in Linux

Related

PHP Warning - PHP Startup: Unable to load dynamic library 'imagick.so'

Has anyone come across this warning before? Any files I should check other than php.ini or 00-ioncube.ini? Those look to be in good order.
$ php -v
PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib64/php/modules/imagick.so (libMagickWand.so.5: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/imagick.so.so (/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.3.31 (cli) (built: Sep 21 2021 10:24:03) ( NTS )
Operating System:
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.42.2.el7.x86_64
Architecture: x86-64
I upgraded PHP from version 7.1 to 7.3 on using these steps:
php -v
sudo yum install epel-release
yum --enablerepo=remi-php73 install php
php -v
systemctl restart httpd
I only see one php.ini file loaded in /etc/
Check how was the imagick extension was installed:
rpm -qf /usr/lib64/php/modules/imagick.so
It looks like it is not provided by a RPM, nor built for the proper PHP version you are running (libMagickWand.so.5 is also an old version).
For a proper configuration / installation, see the Wizard instructions
At least I recommend you enable the remi-php73 repository permanently, to ensure all extensions are taken from it.
yum-config-manager --enable remi-php73
Then you can install the imagick extension, or any other extension you need
yum install php-imagick
Notice, in this repository you have the choice between 2 variants of this extension, above command will pick one among:
php-pecl-imagick-im6 build with ImageMagick version 6 (libMagickCore-6.Q16.so.7, libMagickWand-6.Q16.so.7)
php-pecl-imagick-im7 build with ImageMagick version 7 (libMagickCore-7.Q16HDRI.so.10, libMagickWand-7.Q16HDRI.so.10)
APIs are slightly different.

Install imagick extension in Mac OS Catalina : php_imagick.h:42:10: fatal error: 'php.h' file not found

I've followed these steps to install imagemagick and php extension imagick in my computer with Mac OS Catalina and I can't seem to find a way.
I always get the following error when trying to install imagick with $ sudo pecl install imagick:
php_imagick.h:42:10: fatal error: 'php.h' file not found
#include "php.h"
^~~~~~~
1 error generated.
make: *** [imagick_file.lo] Error 1
ERROR: `make' failed
I'm using php.7.3.11.
Apparently Mac OS X Catalina decided to move the headers to another folder and now it doesn't seem to find them.
I've been reading this answer but seems like the solution is too long to be true. Isn't there any other more simple and straight forward method?
It seems others manage to fix it for other extensions with much less trouble.
However, I'm not quite sure the steps for Imagick are exactly the same...
I had this same issue with my new MacBook Air and Catalina. It was a because I did not have PHP installed with brew. I looked at the page you linked to, and I am assuming you have already completed the brew install pkg-config imagemagick. This is what I would do to get clean it up and get it working, see below.
Remove your existing imagemagick and pkg-config that were just installed (and PHP if it shows up in the versions list)
First, we get the php #ver name if necessary. If you don't see PHP in the list then we don't need to remove it, just remove the other two.
brew list --versions
...
imagemagick 7.0.10-0
...
pcre 8.44
php#7.3 7.3.16
pkg-config 0.29.2_2
...
Stop the php service if it is running, in my case it is #7.3
brew services stop php#7.3
Next we remove the items having issue
brew remove php#7.3 pkg-config imagemagick
or simply
brew remove pkg-config imagemagick if PHP not installed with brew
Restart your computer (optional, but I like to do it)
Now we install the items again, include PHP this time if it was not installed with brew last time
brew install php#7.3 pkg-config imagemagick
Add PHP to your path for cmd line if not already there (optional)
echo 'export PATH="/usr/local/opt/php#7.3/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php#7.3/sbin:$PATH"' >> ~/.bash_profile
To have launchd start php#7.3 now and restart at login:
brew services start php#7.3
Or, if you don't want/need a background service you can just run:
php-fpm
Confirm PHP and imagemagick and perl/pecl are the expected versions
php -v
PHP 7.3.16 (cli) (built: Mar 19 2020 11:19:09) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.16, Copyright (c) 1999-2018, by Zend Technologies
convert --version
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
pecl version
PEAR Version: 1.10.10
PHP Version: 7.3.16
Zend Engine Version: 3.3.16
Running on: Darwin mbookair.local 19.4.0 Darwin Kernel Version 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64
Now install iMagick using pecl
pecl install imagick
hit ENTER when you see the path question for 'autodetect'
When it's complete you can confirm the module is loaded
php -m | grep imagick
if it's loaded it will return one line with the word imagick
Test from command line imagick installed correctly
cd to your user home dir
cd ~
Run PHP as interactive shell from cmd line
php -a
Code to test at cmd line:
$im = new Imagick ();
$im->newImage (300, 225, "blue");
$im->writeImage ("test_imagick.jpg");
Exit php interactive mode by typing exit, then check if the bright blue test_imagick.jpg was created in your user dir
Troubleshooting Notes
If you are getting a warning about:
"PHP Warning: Module 'imagick' already loaded in Unknown on line 0
Warning: Module 'imagick' already loaded in Unknown on line 0"
This may be left over from the previous pecl install that did not complete. Check your php.ini file and remove duplicate extension="imagick.so" entry
There is a bug in home brew, here is the link
https://github.com/Homebrew/homebrew-core/issues/41081
When you get tired of home brew, switch to Ubuntu, install imagick no fuss package installation.

I have installed Imagick but am seeing "Error: Class 'Imagick' not found". What am I missing?

I am on RHEL 7.
I have installed imagick with...
yum install php-imagick
I added to my php.ini...
extension=imagick
I have confirmed that I am using the correct php.ini in my file system. It is the "Loaded Configuration File" when I print phpinfo() to a file.
I restarted apache.
In my PHP application, I am getting...
Error: Class 'Imagick' not found
At least at the command line, Imagick is installed...
[root#localhost rh-php72]# convert --version
Version: ImageMagick 6.7.8-9 2019-04-15 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
But the class is not found in my PHP app.

imagick extension not showing up in phpinfo on Amazon linux

I am using AWS EC2 and installed the Imagemagick and php imagick extension using the below steps:
Steps
cd ImageMagick-6.7.8-9 - go where you placed the folder
./configure
make
make install
make check
install imagick extension from pecl.php.net/package/imagick/download 3.1.2
cd imagick-3.1.2
phpize
./configure --with-imagick=/opt/local
make
make install
Copy imagick.so in your PHP extensions folder and add extension=imagick.so in php.ini
When I run php -m | grep imagick, I get the below warning:
PHP Warning: Module 'imagick' already loaded in Unknown on line 0
PHP Warning: Module 'imagick' already loaded in Unknown on line 0
imagick
When I run convert -version, it shows the below message
Version: ImageMagick 6.7.8-9 2016-06-22 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
When I run php -m, it shows Imagick in the list. But print run phpinfo() does not show Imagick.
Also when I am trying to create the instance of Imagick it is giving Fatal Error that Class not found.

Imagick install error undefined symbol: MagickGetImageBluePrimary

How goes it folks, I've been trying to install imagick on a Centos server with absolutely no luck.
ImageMagick is running fine. MagickWand is installed and the module compiles with no problem.
# which MagickWand
/usr/local/bin/MagickWand
# MagickWand --version
6.7.6 Q16
# which convert
/usr/local/bin/convert
# convert -v
Version: ImageMagick 6.7.6-8 2012-05-03 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
[imagick]# make install
Installing shared extensions: /usr/lib/php/modules/
Installing header files: /usr/include/php/
# php -m | grep imagick
PHP Warning: PHP Startup: Unable to load dynamic library'/usr/lib/php/modules/imagick.so' - /usr/lib/php/modules/imagick.so: undefined symbol: MagickGetImageBluePrimary in Unknown on line 0
Is anybody familiar with this error?...Any help is appreciated.
I had exactly the same error. the problem occurs for the imagick imagick module version-3.0.1. Installing imagick-2.3.0 version works correctly

Categories