65

well, just after upgrading my Ubuntu and therefore moving to php7, I seem not to be able to install imagick extension for php using the same old command

sudo apt-get install php5-imagick

I get this error (tried php7-imagick too)

 Package php5-imagick is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php5-imagick' has no installation candidate

what should I do?

  • 3
    I think it is just sudo apt install php-imagick. – Terrance May 8 '16 at 17:01
  • Can confirm, apt-cache search shows that php-imagick is the package for php7. – DopeGhoti May 8 '16 at 17:06
109

Just do:

sudo apt-get install php-imagick

This should install imagick for PHP 7.0.

  • On my system this tries to install php 5.5 along with it. – starbeamrainbowlabs Aug 11 '16 at 14:54
  • I got: WARNING: The following packages cannot be authenticated! php-imagick Install these packages without verification? [y/N] y Err ppa.launchpad.net/ondrej/php-7.0/ubuntu trusty/main php-imagick amd64 3.4.0~rc6-1+deb.sury.org~trusty+2 404 Not Found E: Failed to fetch ppa.launchpad.net/ondrej/php-7.0/ubuntu/pool/main/p/php-imagick/… 404 Not Found E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? – mwm Sep 25 '16 at 14:41
  • 3
    Worked, but I had to follow @alexg advice to restart service php7.0-fpm – xl-t Feb 15 '17 at 13:18
  • 1
    You may need to run apt-get update and apt-get upgrade (or apt-get dist-upgrade prior to running apt-get install php-imagick – Leo Galleguillos Feb 6 '18 at 20:15
  • Don't forget to restart apache if PHP7 is running as an apache module. – Hokascha Jan 23 at 15:55
33

Turns out I had to restart the fpm:

sudo service php7.0-fpm reload

Things I tried:

apt install php-imagick didn't work for me. The module was getting loaded for the PHP CLI (I checked with php -m | grep -i imagick but through my nginx webserver it didn't show up in the list of modules reported by phpinfo() at all.

I even inserted extension=imagick.so to /etc/php/7.0/fpm/php.ini manually, just to make sure.

I then tried purging the php-imagick package and installing from cpan:

sudo apt install libmagickwand-dev imagemagick php-dev
sudo pecl install imagick

And still, no cigar. It would work through the cli but not via nginx.

  • Necromancer here, sorry, but gush after 30 minutes your line mentioning the restart of php service made me really feel like I should bang my head into the brick wall... :) Yes you guessed it, I forgot that bit and I was going mental why it's not working :D – Emil Borconi Feb 8 '18 at 22:05
  • @alexg since we aren't compiling imagemagick is there any reason using -dev package of libmagickwand? – inckka May 22 '18 at 1:02
  • 1
    @inckka no, you should be OK with the binary package. Thanks! – alexg Jun 4 '18 at 6:10
8

Installed these packages:

sudo apt install libmagickwand-dev imagemagick php-dev
sudo pecl install imagick

Now replace:

sudo service php7.0-fpm reload

With:

sudo service apache2 restart

Works Great

  • its worked for me – matinict Apr 4 at 7:13
1

Now it is 2018, just wanted to highlight, in many cases, you would also want to install php-gd along with php-imagick (if you are installing this for wordpress for example).

sudo apt install php-imagick php-gd 
sudo systemctl restart apache2

The use of php-imagick implies php7.2-imagick if 7.2 is what your php version is.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.