2010-09-24 49 views
43

Tôi gặp lỗi "Class 'Imagick' not found". Bằng cách nào đó tôi cần phải làm cho thư viện này có thể truy cập vào php. Tôi đang sử dụng Php 5.2.6 trên Fedora 8. php_info của tôi không đề cập đến ImageMagick.lỗi php: Lớp 'Imagick' không tìm thấy

Tôi đã thử: yum cài đặt ImageMagick và apache khởi động lại, không hoạt động.

Tôi cũng đã thêm phần mở rộng = imagick.ext vào tệp php.ini của mình và khởi động lại apache, không hoạt động.

+0

Bạn đã tìm kiếm tiện ích mở rộng hình ảnh magick php chưa? Tôi tưởng tượng rằng bạn cần một cái gì đó giữa thư viện C và lớp PHP của bạn. – Vinzius

+0

Tất cả tiện ích mở rộng của tôi đều * .so không * .ext? –

+3

"không hoạt động" rất tốt rất hữu ích –

Trả lời

18

Từ: http://news.ycombinator.com/item?id=1726074

Đối với các bản phân phối i386 RHEL-based:

yum install ImageMagick.i386 
yum install ImageMagick-devel.i386 
pecl install imagick 
echo "extension=imagick.so" > /etc/php.d/imagick.ini 
service httpd restart 

này cũng có thể làm việc trên các bản phân phối i386 khác sử dụng yum quản lý gói. Đối với x86_64, chỉ cần thay thế .i386 với .x86_64

+0

Đây là những gì cuối cùng đã làm việc cho tôi. Tôi đã thực hiện các attemtps khác mà bao gồm tất cả mọi thứ ngoại trừ dòng thứ hai. Bất cứ điều gì 'yum cài đặt ImageMagick-devel.i386' không cố định nó cho tôi. – James

43

Đối với tất cả những người gặp vấn đề với điều này tôi đã hướng dẫn này:

Làm thế nào để cài đặt ImageMagick và Php Module Imagick trên ubuntu?

tôi đã làm bước này 7 đơn giản:

Cập nhật thư viện, và các gói

apt-get update 

Hủy bỏ điều lỗi thời

apt-get autoremove 

Đối với các thư viện của ImageMagick

apt-get install libmagickwand-dev 

cho lớp lõi Imagick

apt-get install imagemagick 

Đối tạo ra những chương trình, và conections trong beetween

pecl install imagick 

Nối phần mở rộng để bạn php.ini

echo "extension=imagick.so" >> /etc/php5/apache2/php.ini 

Restart Apache

service apache2 restart 

Tôi tìm thấy một vấn đề. PHP tìm kiếm các tệp .so trong thư mục có tên/usr/lib/php5/20100525 và imagick.so được lưu trữ trong thư mục có tên/usr/lib/php5/20090626. Vì vậy, bạn phải sao chép tệp vào thư mục đó.

+0

Câu hỏi được viết theo quy định chỉ định Fedora. Tôi muốn đề nghị thêm một cái gì đó về việc liệu các bước này cho Ubuntu cũng có khả năng làm việc trên Fedora, hoặc những bit có thể phải được sửa đổi. –

+0

Bit lo lắng về bước 6. Bạn có thực sự muốn clobber php.ini? Hoặc nên là ">>" để thêm? –

+0

Tôi đã phải 'apt-get install php5-dev php-pear' để hoàn tất các bước trên Debian Wheezy – juanmf

6

Ubuntu

sudo apt-get install php5-dev pecl imagemagick libmagickwand-dev 
sudo pecl install imagick 
sudo apt-get install php5-imagick 
sudo service apache2 restart 

Một số phụ thuộc sẽ có thể đã được đáp ứng nhưng không bao gồm các dịch vụ Apache, đó là tất cả những gì cần thiết cho PHP để sử dụng lớp Imagick.

7

Đối MAMP chạy trên Mac OSX

Tìm hiểu những gì phiên bản của PHP và cài đặt phiên bản ngay qua brew

brew install homebrew/php/php56-imagick 

Thêm phần mở rộng bằng cách thay đổi mẫu php.ini trong MAMP

enter image description here

Xác minh Imagick

enter image description here

+1

cho ** php 7.0 ** =>' brew install php70-imagick' * * php 7.1 ** => 'brew install php71-imagick' _Restart Service_:' sudo brew services restart php70' –

4

Debian 9

tôi chỉ làm tất cả mọi thứ sau đây và khác cần thiết đã được cài đặt tự động là tốt.

sudo apt-get -y -f install php-imagick 
sudo /etc/init.d/apache2 restart 
+0

Với PHP7: sudo apt-get cài đặt php7.0-imagick -y dịch vụ apache2 khởi động lại – DjimOnDev

Các vấn đề liên quan