J'ai besoin d'installer le module imagick sur mon php 7.2
Je vois
brew search php72
==> Searching local taps...
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
No formula found for "php72".
Closed pull requests:
...
php72-imagick 3.4.3 (new formula) (https://github.com/Homebrew/homebrew-php/pull/4267)
Comment puis-je le faire?
J'ai aussi besoin d'aide pour argon
Tout a changé en avril 2018, je pense. Homebrew _ n'agit plus en tant que gestionnaire de paquets pour PHP. Tous les éléments php-imagick
, php-redis
et php-other-extension
sont maintenant partis et vous êtes maintenant supposé gérer des paquets PHP à l'aide de pecl
comme tout le monde.
Alors, comment obtenir Imagick sous PHP? Notez que Imagick et ImageMagick sont deux choses différentes:
Voici les étapes - si quelqu'un sait mieux ou des améliorations, faites le moi savoir via un commentaire et je vais mettre à jour.
Étape 1 - Supprimez tout ce qui pourrait créer un conflit
Avant de commencer, il est préférable de nettoyer tout ce qui est cassé ou inutile. Faites-en autant que vous êtes à l'aise:
brew rm php [email protected] [email protected] [email protected]
brew rm imagemagick
Étape 2 - Mettez à jour les outils de ligne de commande Xcode et obtenez les packages de construction}
Assurez-vous d’avoir installé les outils de ligne de commande Xcode avec:
xcode-select --install
Allez sur AppStore, cliquez sur Updates et mettez à jour tous les packages liés à Xcode, en particulier si vous avez récemment mis à niveau macOS.
Installer des outils de construction homebrew:
brew install pkg-config
Étape 3 - Installez ImageMagick
Vérifiez quelles options d'ImageMagick vous voulez avec:
brew options imagemagick
J'aime utiliser:
brew install imagemagick --with-x11 --with-librsvg --with-openexr --with-pango
hash -r
mais vous pouvez aimer Vanilla install:
brew install imagemagick
hash -r
Étape 4 - Installez l'homebrew PHP} _
Ensuite, installez la version homebrew de PHP avec:
brew install php
hash -r # Update bash's internal paths
Maintenant, assurez-vous que vous utilisez le bon homebrew PHP:
type php
Si cela vous dit:
/usr/local/...anything.../php
vous utilisez homebrew} _ PHP et vous pouvez passer à l'étape suivante.
Si cela vous dit:
/usr/bin/php
vous utilisez le PHP fourni par Apple. Si c'est ce que vous voulez exécuter, ignorez toute ma réponse, qui repose sur votre volonté d'utiliser homebrew PHP. Si vous obtenez cette réponse mais souhaitez exécuter homebrew PHP, votre PATH est défini de manière incorrecte. Vous devez mettre /usr/local/bin
avant/usr/bin
pour récupérer tous les packages homebrew avant les programmes Apple, c.-à-d.
export PATH=/usr/local/bin:$PATH
Cette étape vous donne pecl
- le gestionnaire de paquets PHP - également, car il fait partie de homebrew PHP.
Étape 5 - Installer Imagick
Maintenant vous pouvez installer Imagick avec pecl
:
pecl install imagick
Si quelque chose ne va pas, voici quelques questions et réponses connexes ...
Q1. Comment puis-je trouver où se trouve mon fichier php.ini
?
Essayez l'une de ces commandes:
pecl config-get php_ini # I get "/usr/local/etc/php/7.2/php.ini"
brew info php
php -i | grep "Loaded Configuration" # I get "Loaded Configuration File => /usr/local/etc/php/7.2/php.ini"
Q2. Comment trouver où pecl
installe les modules?
pecl config-get ext_dir # I get "/usr/local/lib/php/pecl/20170718"
Q3. Comment puis-je savoir quels modules PHP sont chargés?
php -m
Q4. Pourquoi PHP ne trouve-t-il pas mon module?
D'abord, localisez votre répertoire de modules en utilisant Q2. J'aime mettre cela dans le presse-papiers avec:
pecl config-get ext_dir | pbcopy
Puis éditez le fichier php.ini
à partir de Q1. J'utilise vi
, donc je ferais:
vi "$(pecl config-get php_ini)"
Ensuite, trouvez la ligne dans ce fichier qui ressemble à ceci:
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
et, ensuite (en utilisant le contenu de votre tampon de collage), donnez la ligne suivante (pas de point-virgule au début):
extension_dir = "/usr/local/lib/php/pecl/XXXXXX"
sur ma machine XXXXXX
est 20170718
. Si vous obtenez ce droit, tous les modules que vous installez via pecl
seront visibles par votre homebrew PHP.
Q5. Comment puis-je voir tous mes paramètres PHP?
Vérifiez la configuration, les versions et les paramètres de PHP avec:
php -i
J'espère que cela pourra aider!
Dans mon cas (PHP 7.2.10 avec Homebrew) fonctionne:
pecl install imagick
Ouvrez le fichier php.ini et supprimez la ligne d'extension avec l'extension imagick.
Vérifier les fichiers * .ini avec
php --ini
Vous pouvez voir les chemins d'accès aux fichiers d'extension. Créez ou éditez un fichier imagick ini.
subl /usr/local/etc/php/7.2/conf.d/ext-imagick.ini
Le contenu du fichier peut être (vérifiez le chemin d'accès à imagick.so)
[imagick]
extension="/usr/local/opt/php/pecl/20170718/imagick.so"
Et redémarrez php avec
brew services restart php
Essayez, si le message d'erreur disparaît:
php -v
Et vérifiez l'extension imagick avec:
php -i | grep imagick
Si vous voyez une ligne avec imagick module => enabled vous avez résolu un problème.
Vous voulez php72-gmagick
, GraphicsMagick est un fork de ImageMagick 5.5.2.
Ou, vous pouvez toujours pecl install imagick
.