Hướng dẫn php startup: unable to load dynamic library imagick so - khởi động php: không thể tải hình ảnh thư viện động

Tôi có High Sierra OS - Phiên bản 10.13.6 Php phiên bản: Php 7.1.9

Khi tôi cố gắng thực hiện lệnh php -v luôn xuất hiện lỗi như thế này:

Php Startup: Không thể tải Thư viện động '/USR/LOCAL/PHP5-7.1.9-20170914-100859 Local/PHP5-7.1.9-20170914-100859/lib/php/extension/no-debug-non-zts-20160303/Imagick. libmagickwand-7.q16hdri.5.dylib được tham chiếu từ: /usr/local/php5-7.1.9-20170914-100859/lib/php/extensions tìm thấy trong không xác định trên dòng 0
Referenced from: /usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/imagick.so Reason: image not found in Unknown on line 0

CẢNH BÁO: Php Startup: Không thể tải Thư viện động '/USR/LOCAL/PHP5-7.1.9-20170914-100859 usr/local/php5-7.1.9-20170914-100859/lib/php/extension/no-debug-non-zts-20160303/Imagick. lib/libmagickwand-7.q16hdri.5.dylib được tham chiếu từ: /usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-201603 Hình ảnh không được tìm thấy trong không xác định trên dòng 0 Php 7.1.9 (CLI) (Được xây dựng: ngày 14 tháng 9 năm 2017 10:05:35) (NTS) Bản quyền (c) 1997-2017 1998-2017 Zend Technologies với Zend Opcache v7.1.9, Bản quyền (c) 1999-2017, bởi Zend Technologies với XDebug v2.5.3, Bản quyền (C) 2002-2017, bởi Derick Rethans
Referenced from: /usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/imagick.so Reason: image not found in Unknown on line 0 PHP 7.1.9 (cli) (built: Sep 14 2017 10:05:35) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.1.9, Copyright (c) 1999-2017, by Zend Technologies with Xdebug v2.5.3, Copyright (c) 2002-2017, by Derick Rethans

Afaik, php.ini của tôi không tải Thư viện Imagick. Tôi đã cài đặt Imagick với Brew, có một tệp imagick.so bên trong thư mục /usr/local/php5-7.1.9-20170914-100859/lib/php/extensions/no-debug-non-zts-20160303/.

Tôi đã tìm kiếm nhiều nguồn cho vấn đề này, tôi cũng tìm thấy nhiều vấn đề tương tự trong StackoverFlow, nó có vẻ giống với tôi nhưng vẫn không khắc phục được vấn đề của tôi.

Tôi vẫn có thể chạy tập lệnh PHP rõ ràng, nhưng không thể thực hiện một số hình ảnh thao tác với Imagick.

Tôi đã làm brew upgrade Tôi có Php 8.1 trên OSX 12.X

Imagick không hoạt động

PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/local/lib/php/pecl/20210902/imagick.so (dlopen(/usr/local/lib/php/pecl/20210902/imagick.so, 0x0009): tried: '/usr/local/lib/php/pecl/20210902/imagick.so' (no such file), '/usr/local/lib/imagick.so' (no such file), '/usr/lib/imagick.so' (no such file)), /usr/local/lib/php/pecl/20210902/imagick.so.so (dlopen(/usr/local/lib/php/pecl/20210902/imagick.so.so, 0x0009): tried: '/usr/local/lib/php/pecl/20210902/imagick.so.so' (no such file), '/usr/local/lib/imagick.so.so' (no such file), '/usr/lib/imagick.so.so' (no such file))) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/local/lib/php/pecl/20210902/imagick.so (dlopen(/usr/local/lib/php/pecl/20210902/imagick.so, 0x0009): tried: '/usr/local/lib/php/pecl/20210902/imagick.so' (no such file), '/usr/local/lib/imagick.so' (no such file), '/usr/lib/imagick.so' (no such file)), /usr/local/lib/php/pecl/20210902/imagick.so.so (dlopen(/usr/local/lib/php/pecl/20210902/imagick.so.so, 0x0009): tried: '/usr/local/lib/php/pecl/20210902/imagick.so.so' (no such file), '/usr/local/lib/imagick.so.so' (no such file), '/usr/lib/imagick.so.so' (no such file))) in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php/8.1
Loaded Configuration File:         /usr/local/etc/php/8.1/php.ini
Scan for additional .ini files in: /usr/local/etc/php/8.1/conf.d
Additional .ini files parsed:      /usr/local/etc/php/8.1/conf.d/ext-opcache.ini

Suy nghĩ của tôi là lỗi có liên quan là về /usr/local/lib/imagick.so.so và tôi có một tệp /usr/local/lib/php/pecl/20210902/imagick.so có thể tốt hơn để liên kết với.

  • Tôi cũng nhận thấy rằng bên trong
    $ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
    ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
    lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
    $ ls -l /usr/local/lib/php/pecl/*/imagick.so
    -rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
    
    0 của tôi, tôi đã nhận được
    $ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
    ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
    lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
    $ ls -l /usr/local/lib/php/pecl/*/imagick.so
    -rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
    
    1 mà tôi đã đổi tên
    $ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
    ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
    lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
    $ ls -l /usr/local/lib/php/pecl/*/imagick.so
    -rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
    
    2
  • Nếu tôi
    $ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
    ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
    lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
    $ ls -l /usr/local/lib/php/pecl/*/imagick.so
    -rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
    
    3 tôi không nhận được tệp ngay bây giờ nếu tôi
    $ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
    ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
    lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
    $ ls -l /usr/local/lib/php/pecl/*/imagick.so
    -rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
    
    4 thì hãy sử dụng tự động hoàn thành để hoàn thành
    $ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
    ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
    lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
    $ ls -l /usr/local/lib/php/pecl/*/imagick.so
    -rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
    
    5, tôi sẽ nhận được imagick.so

Tôi đã thử tạo một liên kết symlink trong

$ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
$ ls -l /usr/local/lib/php/pecl/*/imagick.so
-rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
7 nhưng nó không hoạt động.Cách giải quyết các lỗi như thế này là gì?

đã cố gắng để symlink

$ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
$ ls -l /usr/local/lib/php/pecl/*/imagick.so
-rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
8 nhưng tôi không được cho phép

$ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
$ ls -l /usr/local/lib/php/pecl/*/imagick.so
-rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so

Tôi đã làm những gì @nohillside đề xuất dưới đây và trong khi điều này giải quyết vấn đề tôi tin rằng vẫn còn một vấn đề liên quan đến cùng một vấn đề

PHP - -ini

PHP Warning:  PHP Startup: imagick: Unable to initialize module
Module compiled with module API=20190902
PHP    compiled with module API=20210902
These options need to match
 in Unknown on line 0

Tôi thử cài đặt lại bằng

$ ls -l /usr/local/lib/php/pecl/20210902/imagick.so /usr/local/lib/imagick.so
ls: /usr/local/lib/php/pecl/20210902/imagick.so: No such file or directory
lrwxr-xr-x  1 user  admin  43 Dec  1 10:58 /usr/local/lib/imagick.so -> /usr/local/lib/php/pecl/20210902/imagick.so
$ ls -l /usr/local/lib/php/pecl/*/imagick.so
-rw-r--r--  1 ed  admin  438784 Jun 16 17:25 /usr/local/lib/php/pecl/20190902/imagick.so
9 nhưng tôi gặp lỗi tương tự

pecl uninstall imagick
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/local/lib/php/pecl/20210902/imagick.so (dlopen(/usr/local/lib/php/pecl/20210902/imagick.so, 0x0009): Library not loaded: /usr/local/opt/imagemagick/lib/libMagickWand-7.Q16HDRI.10.dylib
  Referenced from: /usr/local/lib/php/pecl/20190902/imagick.so
  Reason: tried: '/usr/local/opt/imagemagick/lib/libMagickWand-7.Q16HDRI.10.dylib' (no such file), '/usr/local/lib/libMagickWand-7.Q16HDRI.10.dylib' (no such file), '/usr/lib/libMagickWand-7.Q16HDRI.10.dylib' (no such file)), /usr/local/lib/php/pecl/20210902/imagick.so.so (dlopen(/usr/local/lib/php/pecl/20210902/imagick.so.so, 0x0009): tried: '/usr/local/lib/php/pecl/20210902/imagick.so.so' (no such file), '/usr/local/lib/imagick.so.so' (no such file), '/usr/lib/imagick.so.so' (no such file))) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/local/lib/php/pecl/20210902/imagick.so (dlopen(/usr/local/lib/php/pecl/20210902/imagick.so, 0x0009): Library not loaded: /usr/local/opt/imagemagick/lib/libMagickWand-7.Q16HDRI.10.dylib
  Referenced from: /usr/local/lib/php/pecl/20190902/imagick.so
  Reason: tried: '/usr/local/opt/imagemagick/lib/libMagickWand-7.Q16HDRI.10.dylib' (no such file), '/usr/local/lib/libMagickWand-7.Q16HDRI.10.dylib' (no such file), '/usr/lib/libMagickWand-7.Q16HDRI.10.dylib' (no such file)), /usr/local/lib/php/pecl/20210902/imagick.so.so (dlopen(/usr/local/lib/php/pecl/20210902/imagick.so.so, 0x0009): tried: '/usr/local/lib/php/pecl/20210902/imagick.so.so' (no such file), '/usr/local/lib/imagick.so.so' (no such file), '/usr/lib/imagick.so.so' (no such file))) in Unknown on line 0

Nếu tôi làm LS/usr/local/lib/php/pecl/i nhận hai phiên bản 20190902 20210902