2012-08-08 29 views
20

Tôi đã cài đặt ImageMagick bằng cách sử dụng brew install imagemagick. Điều này tất cả làm việc tốt và tôi có thể chạy bất kỳ lệnh ImageMagick từ dòng Terminal/Command.Cài đặt ImageMagick Brew với Mô-đun PHP trong Mac OS X

Bây giờ khi tôi cố gắng sử dụng các lớp ImageMagick trong PHP, tôi gặp lỗi Class 'Imagick' not found in .... Tôi đoán điều này là do mô-đun ImageMagick không được tải.

Có ai có thể giúp tôi làm việc này bằng PHP không? Cảm ơn!

Thông tin thêm:
Mac OS X Version: 10,8: Mountain Lion
PHP Version: 5.3.13

Trả lời

29

Cài đặt ImageMagick của bạn chưa đủ. Bạn cũng cần gói Imagick (có thể gọi là php5-imagick hoặc tương tự cho bia).

Imagick không tự làm việc, nó là một phần mở rộng PHP gốc để tạo và sửa đổi hình ảnh bằng cách sử dụng API ImageMagick.

Cố gắng tìm kiếm tên chính xác của gói qua brew search imagick.

+0

Vâng, tôi đã thử điều đó trước đây, nhưng công thức đó cũng không tồn tại. Tôi đã thử: php-imagick, php5-imagick, imagick-php, imagick-php5 ... –

+9

@WouterKonecny: thử 'brew tìm kiếm imagick' để tìm tên chính xác của packge. –

0

Từ: php error: Class 'Imagick' not found

Bạn có thêm extension=imagick.so để tệp php.ini (hoặc /etc/php.d/imagick.ini) của bạn?

+0

Tôi đã thêm 'extension = imagick.so' vào tệp php.ini của mình trong'/etc/php.ini' và đã thực hiện 'sudo apachectl restart'. Vẫn không làm việc. –

+0

Bạn có thể xác minh qua ' 'nếu ImageMagick được tải hay không. Bạn có chắc chắn 'php nào bạn đang sử dụng không? –

+0

Có, phiên bản '5.3.13' được hiển thị bằng phpinfo(). Mô-đun dường như không được tải, cách sửa lỗi này? –

43

Tôi vừa làm điều này sau nhiều lần thử nghiệm. Cho đến nay, điều này dường như là cách để làm điều đó cho php 5.3:

brew tap josegonzalez/php 
brew tap homebrew/dupes 
brew install php53-imagick 

Không biết ai Jose Gonzalez là nhưng dường như chúng ta đang mắc nợ mình ....

+1

Nếu bạn có thể giải thích thêm về từng bước, nó sẽ giúp mọi người hiểu thêm .. Tôi thực sự đánh giá cao sự giúp đỡ của bạn ở đây, nhưng ngay bây giờ nó "cho chúng ta cá"; nếu bạn có thể dành thời gian để "dạy chúng tôi câu cá", điều đó thật tuyệt vời: p – a20

+2

[Tên anh ấy là Jose Gonzalez, anh ấy không chỉ là một con khỉ mã, anh ấy là một người trong chúng ta!] (http: // www.youtube.com/watch?v=GCi_PIz5ekU) – a20

+1

Hai lệnh "brew tap" thêm các kho lưu trữ hoặc những nơi mà homebrew có thể tìm kiếm các gói. Hai thư viện này chứa các thư viện và các yêu cầu khác để làm việc với trí tưởng tượng. Một khi bạn đã đăng ký những kho với bản sao của homebrew của bạn, nó sẽ biết nơi để tìm php53-imagick và bất cứ điều gì được đánh dấu là một yêu cầu. Câu trả lời đó có đáp ứng được câu hỏi của bạn không? –

18

Tôi đang sử dụng Yosemite. Đối với tôi, giải pháp là sự kết hợp của câu trả lời và bình luận đã được liệt kê ở đây.

brew install imagemagick 
brew install php55-imagick 

Sửa /etc/php.ini bao gồm imagick

extension=/usr/local/Cellar/php55-imagick/{version of php55-imagick}/imagick.so 

Ví dụ:

extension = /usr/local/Cellar/php55-imagick/3.1.2_1/imagick.so 
4

Hãy thử:

brew install homebrew/php/php53-imagick 
16

tôi đã cùng một vấn đề. Đây là những bước mà làm việc cho tôi nếu bạn đang sử dụng php 5,6

  1. brew install php56-imagick
  2. brew install imagemagick
  3. find /usr/local/Cellar -name "imagick.so"
    sao chép đường dẫn từ đầu ra của lệnh này vào file php.ini của bạn
    ví dụ extension=/usr/local/Cellar/php56-imagick/3.3.0_2/imagick.so lưu tệp của bạn.Bây giờ để kiểm tra lại rằng lớp ImageMagick tồn gõ
  4. php -r "print(class_exists('imagick'));"

Brew liên kết tượng trưng đã không làm việc cho tôi vì vậy tôi đã phải đưa đầy đủ tên đường dẫn vào file php.ini để làm cho nó làm việc. Hy vọng điều này sẽ giúp

+0

Chỉ cần lưu lại thịt xông khói của tôi! Không thể upvote một lần nữa mặc dù nếu không tôi sẽ xx –

+0

Tôi chỉ sử dụng phương pháp này tương tự cho imagemagick trên php 7.1 - Điều này là hợp lệ. Homebrew đã chuyển tệp ini cho phần mở rộng để php đã chọn nó. Bước 4 là hoàn hảo để kiểm tra nó ngay lập tức trong cli. – EffectiX

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