jak zainstalować imagemagick dla php7 na Ubuntu?

67

cóż, zaraz po aktualizacji mojego Ubuntu, a zatem przejściu na php7, wydaje się, że nie jestem w stanie zainstalować rozszerzenia imagick dla php przy użyciu tego samego starego polecenia

sudo apt-get install php5-imagick

Otrzymuję ten błąd (próbowałem też 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

co powinienem zrobić?

azerafati
źródło
3
Myślę, że to jest po prostu sudo apt install php-imagick.
Terrance
Potwierdza, apt-cache searchpokazuje, że php-imagickjest to pakiet dla php7.
DopeGhoti

Odpowiedzi:

113

Po prostu zrób:

sudo apt-get install php-imagick

To powinno zainstalować się imagickdla PHP 7.0.

Videonauth
źródło
W moim systemie próbuje to zainstalować php 5.5 wraz z nim.
starbeamrainbowlabs,
Dostałem: OSTRZEŻENIE: Następujących pakietów nie można uwierzytelnić! php-imagick Zainstalować te pakiety bez weryfikacji? [t / 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 pobrać ppa.launchpad.net/ondrej/php-7.0/ubuntu/pool/main/p/php-imagick/... 404 Not Found E: Nie można pobrać niektórych archiwów, może uruchomić apt-get update lub spróbować z --fix -brakujący?
mwm
3
Pracowałem, ale musiałem postępować zgodnie z radą @alexg, aby ponownie uruchomić usługę php7.0-fpm
xl-t
1
Być może trzeba będzie biec apt-get updatei apt-get upgrade(lub apt-get dist-upgradeprzed biegiemapt-get install php-imagick
Leo Galleguillos
Nie zapomnij zrestartować Apache, jeśli PHP7 działa jako moduł Apache.
Hokascha
36

Okazało się, że musiałem zrestartować fpm:

sudo service php7.0-fpm reload

Rzeczy, których próbowałem:

apt install php-imagicknie działało dla mnie. Moduł ładował się dla PHP CLI (sprawdziłem, php -m | grep -i imagickale przez mój serwer nginx nie pojawił się na liście modułów zgłoszonych przez phpinfo().

I nawet dodaje extension=imagick.sosię /etc/php/7.0/fpm/php.iniręcznie, tylko aby się upewnić.

Następnie spróbowałem wyczyścić php-imagickpakiet i zainstalować z cpan:

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

I nadal nie ma cygara. Działa przez cli, ale nie przez nginx.

alexg
źródło
Nekromanta tutaj, przepraszam, ale trysk po 30 minutach twój wiersz wspominający o ponownym uruchomieniu usługi php sprawił, że naprawdę poczułem, że powinienem walić głową w ścianę z cegieł ... :) Tak, zgadłeś, zapomniałem i poszedłem
myśl,
@alexg, ponieważ nie kompilujemy imagemagick, czy jest jakiś powód, aby używać -devpakietu libmagickwand?
inckka
1
@inckka nie, powinieneś być w porządku z pakietem binarnym. Dzięki!
alexg
9

Zainstalowałem te pakiety:

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

Teraz zamień:

sudo service php7.0-fpm reload

Z:

sudo service apache2 restart

Działa świetnie

użytkownik3671874
źródło
zadziałało dla mnie
por.
3

Teraz jest 2018, chciałem tylko podkreślić, w wielu przypadkach chciałbyś również zainstalować php-gd wraz z php-imagick (jeśli instalujesz to na przykład dla wordpress).

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

Użycie php-imagick implikuje php7.2-imagick, jeśli wersja 7.2 jest taka, jak wersja php.

Thava
źródło