Reputation: 2492
I am getting the error "Class 'Imagick' not found". Somehow I need to make this library accessible to php. I am using Php 5.2.6 on Fedora 8. my php_info has no mention of ImageMagick.
I have tried: yum install ImageMagick and restarted apache, which didn't work.
I also added extension=imagick.ext to my php.ini file and restarted apache, which didn't work.
Upvotes: 56
Views: 130160
Reputation: 20948
Many of these answers are great, if you are using PHP5, but PHP8 offers too many features to just pass up, and imagick is a bit different here.
Install the base imagick repos:
sudo apt-get install php8.0-imagick php8.1-imagick imagemagick php-imagick php-pear php-dev
You may want to omit php8.1-imagick
if you are not up to version 8.1 yet. php-pear
is where the pecl
command lives, so, if that doesn't install correctly, you'll get an error when you need to do the next command...
sudo pecl install imagick
Find your php.ini
file with...
php -i | grep -i php.ini
You may get output like...
Configuration File (php.ini) Path => /etc/php/8.1/cli
Loaded Configuration File => /etc/php/8.1/cli/php.ini
Open this file and add to the end of the file this text: extension=imagick.so
.
Then restart your server. Any of these will do:
systemctl restart apache2
/etc/init.d/apache2 restart
sudo service apache2 graceful
phpinfo()
on a web page, which should mention imagick.phpinfo()
info calls from the command line with php -r "echo phpinfo();" | grep 'imagick';
.phpinfo()
from the command line with php -i | grep 'imagick'
.imagick
in the name with dpkg --list | grep 'imagick'
.Note: These are all important, because while I was debugging, I was able to see Imagick installed at lower layers (i.e. with dpkg
), but was not seeing it in the higher layers (i.e. with phpinfo();
through webhost). Cheers.
Upvotes: 0
Reputation: 302
imagick become not supported in <= php7.0 the Ideal Solution is alternative Package Please find this here https://github.com/DantSu/php-image-editor
Upvotes: 0
Reputation: 17624
Docker container installation for php:XXX
Debian based images:
RUN apt-get update && apt-get install -y --no-install-recommends libmagickwand-dev
RUN pecl install imagick && docker-php-ext-enable imagick
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* || true
Upvotes: 1
Reputation: 706
On an EC2 at AWS, I did this:
yum list | grep imagick
Then found a list of ones I could install...
php -v
told me which version of php I had and thus which version of imagick
yum install php56-pecl-imagick.x86_64
Did the trick. Enjoy!
Upvotes: 1
Reputation: 1652
Debian 9
I just did the following and everything else needed got automatically installed as well.
sudo apt-get -y -f install php-imagick
sudo /etc/init.d/apache2 restart
Upvotes: 6
Reputation: 4816
For MAMP running on Mac OSX
Find out the what version of PHP and install the right version via brew
brew install homebrew/php/php56-imagick
Add the extension by modifying the php.ini template in MAMP
Verify the Imagick
Upvotes: 10
Reputation: 595
For all to those having problems with this i did this tutorial:
How to install Imagemagick and Php module Imagick on ubuntu?
i did this 7 simple steps:
Update libraries, and packages
apt-get update
Remove obsolete things
apt-get autoremove
For the libraries of ImageMagick
apt-get install libmagickwand-dev
for the core class Imagick
apt-get install imagemagick
For create the binaries, and conections in beetween
pecl install imagick
Append the extension to your php.ini
echo "extension=imagick.so" >> /etc/php5/apache2/php.ini
Restart Apache
service apache2 restart
I found a problem. PHP searches for .so files in a folder called /usr/lib/php5/20100525, and the imagick.so is stored in a folder called /usr/lib/php5/20090626. So you have to copy the file to that folder.
Upvotes: 56
Reputation: 6975
Ubuntu
sudo apt-get install php5-dev pecl imagemagick libmagickwand-dev
sudo pecl install imagick
sudo apt-get install php5-imagick
sudo service apache2 restart
Some dependencies will probably already be met but excluding the Apache service, that's everything required for PHP to use the Imagick
class.
Upvotes: 12
Reputation: 2492
From: http://news.ycombinator.com/item?id=1726074
For RHEL-based i386 distributions:
yum install ImageMagick.i386
yum install ImageMagick-devel.i386
pecl install imagick
echo "extension=imagick.so" > /etc/php.d/imagick.ini
service httpd restart
This may also work on other i386 distributions using yum package manager. For x86_64, just replace .i386 with .x86_64
Upvotes: 19