J'ai fait un brew upgrade
J'ai php 8.1 sur osx 12.x.
Imagick ne fonctionne pas
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
Je pense que l'erreur pertinente est d'environ /usr/local/lib/imagick.so.so
et j'ai un fichier /usr/local/lib/php/pecl/20210902/imagick.so
qu'il vaudrait mieux lier.
- J'ai aussi remarqué que dans mon
php.ini
J'aiextension="imagick.so"
que j'ai renomméextension=imagick.so
- si je
ls /usr/local/lib/php/pecl/20210902/
Je n'obtiens aucun fichier maintenant si jels /usr/local/lib/php/pecl/
puis utiliser l'autocomplétion pour terminer20210902
Je reçoisimagick.so
J'ai essayé de créer un lien symbolique dans /usr/local/lib/
mais cela ne fonctionne pas. Comment résoudre ce genre d'erreur ?
a essayé de faire un lien symbolique sudo ln -s /usr/local/lib/php/pecl/20210902/imagick.so /usr/lib/imagick.so
mais j'obtiens "opération non autorisée".
$ 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
J'ai fait ce que @nohillside a suggéré ci-dessous et bien que cela ait résolu le problème, je crois qu'il y a encore un problème lié au même problème
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
J'essaie de réinstaller en pecl uninstall imagick
mais je reçois la même erreur
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
si je fais ls /usr/local/lib/php/pecl/ j'obtiens deux versions 20190902 20210902
0 votes
Il semble y avoir une incompatibilité entre les versions installées de PHP et d'imagemagick. Peut-être que tout supprimer/désinstaller et réinstaller est plus facile que d'essayer de résoudre ce problème.
0 votes
@nohillside oui je suis d'accord c'est pourquoi j'ai essayé de désinstaller imagick mais comme vous pouvez le voir je ne peux plus.
pecl uninstall
échoue. Je ne sais pas comment m'y prendre ? J'ai déjà désinstallé imagemagick avec homebrew. Comment le désinstalleur peut-il être cassé ? Dois-je supprimer les fichiers manuellement ? quels fichiers ?