83

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?

azerafati
  • 1,169
  • 1
  • 10
  • 23

5 Answers5

133

Just do:

sudo apt-get install php-imagick

This should install imagick for PHP 7.0.

Videonauth
  • 33,045
  • 16
  • 104
  • 120
  • 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 http://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 http://ppa.launchpad.net/ondrej/php-7.0/ubuntu/pool/main/p/php-imagick/php-imagick_3.4.0~rc6-1+deb.sury.org~trusty+2_amd64.deb 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
  • 4
    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 06 '18 at 20:15
  • Don't forget to restart apache if PHP7 is running as an apache module. – Hokascha Jan 23 '19 at 15:55
  • Cover your bases better: `sudo apt install php-imagick && sudo systemctl restart nginx.service apache2.service php7*` -> That should cover/restart most popular webservers and fpm. (If you aren't using it, it's ignored) – B. Shea Feb 04 '20 at 17:19
  • So much thanks. I stay trying fix for 4h! For complete you aswers, just add: "sudo service apache2 restart" – Thallyson Dias Aug 30 '20 at 22:25
40

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.

Nitin Nain
  • 103
  • 4
alexg
  • 766
  • 7
  • 16
  • 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 08 '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 01:02
  • 1
    @inckka no, you should be OK with the binary package. Thanks! – alexg Jun 04 '18 at 06:10
17

For php 5.6: sudo apt-get install php5.6-imagick

For php 7.0:sudo apt-get install php7.0-imagick

For php 7.1: sudo apt-get install php7.1-imagick

For php 7.2: sudo apt-get install php7.2-imagick

For php 7.3: sudo apt-get install php7.3-imagick

For php 7.4: sudo apt-get install php7.4-imagick

For php 8.0: sudo apt-get install php8.0-imagick

For php 8.1: sudo apt-get install php8.1-imagick

After restart apache:sudo service apache2 reload

Kokil
  • 271
  • 2
  • 5
10

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

Zanna
  • 69,223
  • 56
  • 216
  • 327
user3671874
  • 101
  • 1
  • 2
3

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.

Thava
  • 139
  • 3
  • 1
    php-gd is [optional](https://make.wordpress.org/hosting/handbook/handbook/server-environment/#php-extensions) if you have imagick installed – Aurovrata Dec 05 '19 at 10:17
  • Seems this works for many people but for me, running ***sudo apt install libmagickwand-dev imagemagick php-dev*** says *imagemagick is already the newest version* but that there are unmet dependencies. When I try to install the dependency, it says there is another and so forth for about a half-dozen different ones, none of which will install. The last one is for *libpcre3* and when I try to install it, I am told that the latest one is already installed! What is going on? – DonP Dec 14 '19 at 23:10