Как установить ImageMagick для PHP7 на Ubuntu?


67

хорошо, только после обновления моей Ubuntu и, следовательно, перехода на php7, я не могу установить расширение imagick для php, используя ту же старую команду

sudo apt-get install php5-imagick

Я получаю эту ошибку (пробовал 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

что я должен делать?


3
Я думаю, что это просто sudo apt install php-imagick.
Терренс

Можете подтвердить, apt-cache searchпоказывает, что php-imagickэто пакет для php7.
DopeGhoti

Ответы:


113

Просто сделать:

sudo apt-get install php-imagick

Это должно установить imagickдля PHP 7.0.


На моей системе это пытается установить php 5.5 вместе с ним.
starbeamrainbowlabs

Я получил: ВНИМАНИЕ: Следующие пакеты не могут быть аутентифицированы! php-imagick Установить эти пакеты без проверки? [y / N] y Ошибка ppa.launchpad.net/ondrej/php-7.0/ubuntu trusty / main php-imagick amd64 3.4.0 ~ rc6-1 + deb.sury.org ~ trusty + 2 404 Не найдено E: Не удалось получить ppa.launchpad.net/ondrej/php-7.0/ubuntu/pool/main/p/php-imagick/… 404 Not Found E: Невозможно получить некоторые архивы, возможно, запустите apt-get update или попробуйте с --fix -отсутствует?
Mwm

3
Сработало, но мне пришлось последовать совету @alexg, чтобы перезапустить службу php7.0-fpm
xl-t

1
Возможно, вам придется бежать apt-get updateи apt-get upgrade(или apt-get dist-upgradeдо запускаapt-get install php-imagick
Лео Гальегилос

Не забудьте перезапустить apache, если PHP7 работает как модуль apache.
Хокаша

37

Оказывается, мне пришлось перезапустить fpm:

sudo service php7.0-fpm reload

Вещи, которые я пытался:

apt install php-imagickне работал для меня Модуль загружался для PHP CLI (я проверял, php -m | grep -i imagickно через мой веб-сервер nginx он вообще не отображался в списке модулей, о которых сообщалось) phpinfo().

Я даже вставить extension=imagick.soв /etc/php/7.0/fpm/php.iniвручную, чтобы убедиться.

Затем я попытался очистить php-imagickпакет и установить из cpan:

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

И до сих пор нет сигар. Это будет работать через cli, но не через nginx.


Некромант здесь, извините, но через 30 минут после того, как ваша линия, упоминающая о перезапуске php-сервиса, заставила меня почувствовать, что я должен ударить головой о кирпичную стену ... :) Да, вы догадались, я забыл об этом, и я собирался
сумасшедший,

@alexg, поскольку мы не компилируем imagemagick, есть ли причина использовать -devпакет libmagickwand?
Инкка

1
@inckka нет, вы должны быть в порядке с бинарным пакетом. Спасибо!
AlexG

9

Установлены эти пакеты:

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

Теперь замените:

sudo service php7.0-fpm reload

С участием:

sudo service apache2 restart

Работает отлично


это сработало для меня
matinict

3

Сейчас наступил 2018 год, просто хотелось бы выделить, во многих случаях вы бы также хотели установить php-gd вместе с php-imagick (если вы устанавливаете это для WordPress, например).

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

Использование php-imagick подразумевает php7.2-imagick, если 7.2 - это версия вашего php.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.