cara menginstal imagemagick untuk php7 di ubuntu?

67

baik, hanya setelah memutakhirkan Ubuntu saya dan karena itu pindah ke php7, saya tampaknya tidak dapat menginstal ekstensi imagick untuk php menggunakan perintah lama yang sama

sudo apt-get install php5-imagick

Saya mendapatkan kesalahan ini (juga mencoba 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

apa yang harus saya lakukan?

azerafati
sumber
3
Saya pikir itu adil sudo apt install php-imagick.
Terrance
Dapat mengkonfirmasi, apt-cache searchmenunjukkan bahwa itu php-imagickadalah paket untuk php7.
DopeGhoti

Jawaban:

113

Kerjakan saja:

sudo apt-get install php-imagick

Ini harus menginstal imagickuntuk PHP 7.0.

Videonauth
sumber
Di sistem saya ini mencoba menginstal php 5.5 bersama dengan itu.
starbeamrainbowlabs
Saya mendapat: PERINGATAN: Paket-paket berikut ini tidak dapat diautentikasi! php-imagick Instal paket-paket ini tanpa verifikasi? [y / N] y Err ppa.launchpad.net/ondrej/php-7.0/ubuntu trusty / php-imagick utama amd64 3.4.0 ~ rc6-1 + deb.sury.org ~ trusty + 2 404 Tidak Ditemukan E: Gagal E: Gagal untuk mengambil ppa.launchpad.net/ondrej/php-7.0/ubuntu/pool/main/p/php-imagick/… 404 Tidak Ditemukan E: Tidak dapat mengambil beberapa arsip, mungkin menjalankan pembaruan apt-get atau coba dengan --fix salah
mwm
3
Berhasil, tetapi saya harus mengikuti saran @alexg untuk memulai kembali layanan php7.0-fpm
xl-t
1
Anda mungkin perlu berlari apt-get updatedan apt-get upgrade(atau apt-get dist-upgradesebelum berlariapt-get install php-imagick
Leo Galleguillos
Jangan lupa untuk me-restart apache jika PHP7 berjalan sebagai modul apache.
Hokascha
37

Ternyata saya harus memulai ulang fpm:

sudo service php7.0-fpm reload

Hal yang saya coba:

apt install php-imagicktidak bekerja untuk saya. Modul ini dimuat untuk PHP CLI (saya diperiksa dengan php -m | grep -i imagicktetapi melalui server web nginx saya tidak muncul dalam daftar modul yang dilaporkan phpinfo()sama sekali.

Aku bahkan dimasukkan extension=imagick.soke /etc/php/7.0/fpm/php.inimanual, hanya untuk memastikan.

Saya kemudian mencoba membersihkan php-imagickpaket dan menginstal dari cpan:

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

Dan tetap saja, tidak ada cerutu. Itu akan bekerja melalui cli tetapi tidak melalui nginx.

alexg
sumber
Ahli nujum di sini, maaf, tetapi menyembur setelah 30 menit kalimat Anda menyebutkan restart layanan php membuat saya benar-benar merasa seperti saya harus membenturkan kepala saya ke dinding bata ... :) Ya Anda dapat menebaknya, saya lupa sedikit itu dan saya akan pergi mental mengapa tidak bekerja: D
Emil Borconi
@ alexg karena kami tidak mengompilasi imagemagick apakah ada alasan menggunakan -devpaket libmagickwand?
inckka
1
@inckka tidak, Anda harus OK dengan paket biner. Terima kasih!
alexg
9

Menginstal paket-paket ini:

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

Sekarang ganti:

sudo service php7.0-fpm reload

Dengan:

sudo service apache2 restart

Bagus sekali

pengguna3671874
sumber
itu bekerja untuk saya
matinict
3

Sekarang ini tahun 2018, hanya ingin menyoroti, dalam banyak kasus, Anda juga ingin menginstal php-gd bersama dengan php-imagick (jika Anda menginstal ini untuk wordpress misalnya).

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

Penggunaan php-imagick menyiratkan php7.2-imagick jika 7.2 adalah versi php Anda.

Thava
sumber