web-dev-qa-db-ja.com

Homebrew:新しい式php72-imagickをインストールする

PHP 7.2にimagickモジュールをインストールする必要があります

そうですか

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)

どうすればいいですか?

また、アルゴンのサポートが必要です

8
abkrim

2018年4月にすべてが変わったと思います。 HomebrewはPHPのパッケージマネージャーとして機能しなくなったため、すべてのphp-imagickおよびphp-redisおよびphp-other-extensionものがなくなってしまったので、あなたはPHPパッケージを他の誰もがするようにpeclを使って管理することになっています。

では、PHPでImagickを取得する方法は? ImagickImageMagickは2つの異なるものであることに注意してください。

  • ImageMagickはImageMagickスイート全体です
  • Imagickはjustthe PHPバインディング

手順は次のとおりです。誰かが改善または改善を知っている場合は、コメントでお知らせください。更新します。


ステップ1-競合する可能性のあるものをすべて削除する

開始する前に、破損または不要なものをすべてクリーンアップすることをお勧めします。あなたが慣れている限り、これらの多くをしてください:

brew rm php [email protected] [email protected] [email protected]
brew rm imagemagick

ステップ2-Xcodeコマンドラインツールを更新し、ビルドパッケージを取得する

Xcodeコマンドラインツールがインストールされていることを確認してください:

xcode-select --install

AppStoreに移動してpdatesをクリックし、Xcode関連のパッケージを更新します(特にmacOSを最近アップグレードした場合)。

自作のビルドツールをインストールします。

brew install pkg-config

ステップ3-ImageMagickのインストール

必要なImageMagickオプションを確認します。

brew options imagemagick

私は使用したい:

brew install imagemagick --with-x11 --with-librsvg --with-openexr --with-pango
hash -r

しかし、あなたはバニラのインストールが好きかもしれません:

brew install imagemagick
hash -r

ステップ4-自作PHPをインストールする

次に、homebrew version PHP with with:

brew install php
hash -r                    # Update bash's internal paths

ここで、正しいhomebrew PHPを実行していることを確認してください:

type php

それがあなたに言うなら:

/usr/local/...anything.../php

homebrew PHPを実行しているので、次のステップに進むことができます。

それがあなたに言うなら:

/usr/bin/php

appleが提供するPHPを実行しています。それがあなたが実行したいものである場合、homebrew PHPを使用したいという前提にある私の答え全体を無視してください。この答えを受け取ったがhomebrew PHPを実行したい場合、PATHが正しく設定されていません。 /usr/local/bin/usr/binすべてのhomebrewパッケージをAppleプログラム、つまり.

export PATH=/usr/local/bin:$PATH

このステップにより、pecl-PHP Package Manager-homebrew PHPの一部であるため)も提供されます。


ステップ5-Imagickのインストール

これで、peclを使用してImagickをインストールできます。

pecl install imagick

何か問題が発生した場合、関連する質問と回答を次に示します...

Q1。自分のphp.iniファイルは?

次のコマンドのいずれかを試してください。

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。 peclがモジュールをインストールする場所を見つけるにはどうすればよいですか?

pecl config-get ext_dir                 # I get "/usr/local/lib/php/pecl/20170718"

Q3。 PHPモジュールがロードされていることをどのように確認できますか?

php -m

Q4。なぜPHP自分のモジュールが見つからないのですか?

最初にQ2を使用してモジュールディレクトリを見つけます。私はそれをクリップボードに入れたい:

pecl config-get ext_dir | pbcopy

次に、php.iniファイルはQ1から。 viを使用するので、次のようにします。

vi "$(pecl config-get php_ini)"

次に、そのファイルで次のような行を見つけます。

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir

そして、(貼り付けバッファの内容を使用して)次の行を次のようにします(先頭にセミコロンはありません):

extension_dir = "/usr/local/lib/php/pecl/XXXXXX"

私のマシンではXXXXXX20170718。これを正しく行うと、peclを介してインストールするすべてのモジュールがhomebrew PHPから見えるようになります。

Q5。すべてのPHP設定を確認するにはどうすればよいですか?

PHPの設定、バージョン、および設定を確認してください:

php -i

お役に立てば幸いです!

37
Mark Setchell

私の場合(Homebrewを使用したPHP 7.2.10)は動作します:

pecl install imagick

ファイルphp.iniを開き、imagick拡張子を持つ拡張子行を削除します。

* .iniファイルをチェックして

php --ini

拡張ファイルへのパスを確認できます。 imagick iniファイルを作成または編集します。

subl /usr/local/etc/php/7.2/conf.d/ext-imagick.ini

ファイルの内容は次のとおりです(imagick.soへのパスを確認してください)。

[imagick]
extension="/usr/local/opt/php/pecl/20170718/imagick.so"

そしてphpを再起動します

brew services restart php

エラーメッセージが消える場合は試してください:

php -v

そして、以下でimagick拡張機能を確認します。

php -i | grep imagick

imagick module => enabledの行が表示された場合、問題は解決しています。

1
vml

php72-gmagick、GraphicsMagickはImageMagick 5.5.2のフォークです。

または、pecl install imagickまだ。

0
Ben Poulson