comment installer imagemagick pour php7 sur Ubuntu?

67

bien, juste après la mise à niveau de mon Ubuntu et donc mon passage à php7, il semble que je ne puisse pas installer l'extension imagick pour php en utilisant la même vieille commande

sudo apt-get install php5-imagick

Je reçois cette erreur (essayé aussi avec php7-imagick)

 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

que devrais-je faire?

Azerafati
la source
3
Je pense que c'est juste sudo apt install php-imagick.
Terrance
Peut confirmer, apt-cache searchmontre que php-imagickc'est le paquet pour php7.
DopeGhoti

Réponses:

113

Il suffit de faire:

sudo apt-get install php-imagick

Cela devrait installer imagickpour PHP 7.0.

Videonauth
la source
Sur mon système, cela essaye d'installer PHP 5.5 avec.
starbeamrainbowlabs
J'ai eu: ATTENTION: Les paquets suivants ne peuvent pas être authentifiés! php-imagick Installer ces paquets sans vérification? [y / N] y Err ppa.launchpad.net/ondrej/php-7.0/ubuntu fidèle / principal php-imagick amd64 3.4.0 ~ rc6-1 + deb.sury.org ~ fidèle + 2 404 Introuvable E: Échec pour récupérer ppa.launchpad.net/ondrej/php-7.0/ubuntu/pool/main/p/php-imagick/… 404 Introuvable E: Impossible d'extraire des archives, peut-être lancer apt-get update ou essayer avec --fix -manquant?
mwm
3
J'ai travaillé, mais je devais suivre les conseils de @alexg pour redémarrer le service php7.0-fpm
xl-t
1
Vous devrez peut-être courir apt-get updateet apt-get upgrade(ou apt-get dist-upgradeavant de courirapt-get install php-imagick
Leo Galleguillos le
N'oubliez pas de redémarrer apache si PHP7 est exécuté en tant que module apache.
Hokascha le
37

Il s'avère que j'ai dû redémarrer le fpm:

sudo service php7.0-fpm reload

Choses que j'ai essayées:

apt install php-imagickn'a pas fonctionné pour moi. Le module était en cours de chargement pour l'interface de ligne de commande PHP (j'ai vérifié, php -m | grep -i imagickmais via mon serveur Web nginx, il ne figurait pas dans la liste des modules signalés phpinfo().

J'ai même inséré extension=imagick.soà la /etc/php/7.0/fpm/php.inimain, juste pour être sûr.

J'ai ensuite essayé de purger le php-imagickpaquet et d'installer à partir de cpan:

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

Et encore, pas de cigare. Cela fonctionnerait à travers la cli mais pas via nginx.

alexg
la source
Nécromancien ici, désolé, mais après 30 minutes, votre ligne mentionnant le redémarrage du service php m'a vraiment fait sentir que je devrais me cogner la tête contre le mur de briques ... :) mental pourquoi ça ne marche pas: D
Emil Borconi
@alexg puisque nous ne compilons pas imagemagick, y a-t-il une raison d'utiliser le -devpaquet de libmagickwand?
Inckka
1
@inckka non, vous devriez être d'accord avec le paquet binaire. Merci!
Alex
9

Installé ces paquets:

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

Maintenant remplacez:

sudo service php7.0-fpm reload

Avec:

sudo service apache2 restart

Fonctionne très bien

utilisateur3671874
la source
sa a fonctionné pour moi
matinict
3

Maintenant, nous sommes en 2018, je voulais simplement souligner que, dans de nombreux cas, vous voudriez également installer php-gd avec php-imagick (si vous installez ceci pour wordpress par exemple).

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

L'utilisation de php-imagick implique php7.2-imagick si la version 7.2 correspond à votre version php.

Thava
la source