Laravelで「simplesoftwareio」を使いQRコードの画像を生成し、ダウンロードをできるようにしたいと思っています。
開発途中で下記のようのエラーメッセージが出たため、imagick のインストールを試みたのですがうまくいかず手こずりました。そのためimagickのインストール手順を備忘録としてまとめました。
BaconQrCode\Exception\RuntimeException
You need to install the imagick extension to use this back end
前提として開発環境は以下になります。
- mac OS BigSur11.2.3
- PHP Version: 8.0.3
- PEAR Version: 1.10.12
- Zend Engine Version: 4.0.3
- Laravel8
- ImageMagick 7.0.11-5
インストール手順
imagemagickはすでにインストール済みであったため、peclコマンドでimagickのインストールを行いましたが、下記のようなエラーが出ました。
$ pecl install imagick
・
・
・
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [imagick_file.lo] Error 1
ERROR: `make' failed
いまいちエラー内容が分からなかったため、全く同じエラーに対する参考記事を見つけたためこの記事を参考に再度インストールを行いました。
Pecl cant compile Imagick extention on macOS Big Sur, how fix it?
$ git clone https://github.com/Imagick/imagick
$ cd imagick
$ phpize && ./configure
$ make
$ make install
下記のファイルが作成される。
/usr/local/Cellar/php/8.0.3/pecl/20200930/imagick.so
php.iniにも以下の一文が追加されている
extension_dir = "/usr/local/lib/php/pecl/20200930"
php.iniに下記のように追記する。
[imagick]
extension="imagick.so"
下記のコマンドを実行し、imagickが追加されていればOK。
$php -m | grep imagick