PHP Warning: PHP Startup: imagick: Unable to initialize module Module compiled with module API=20100525 PHP compiled with module API=20121212 というエラーの対処法
こんな感じの方法でPHPを複数バージョンで利用してるのですが 64bitCentOS6.2にsuPHPで複数バージョンのPHPを入れた際ハマったこと | ハサミできって貼ってみた
なんかImageMagickをPHPから使うためのモジュールで「imagick」というものがあって、それを入れて、要はphpinfoにこうやって出てくるようにしてくれといわれました。
で、色々がんばって入れてみるんですけど、なんか色々調べてインストールしてみてphp.iniに
extension=imagick.so
を追加してphpinfoを見たらページの最後の方に
PHP Warning: PHP Startup: imagick: Unable to initialize module Module compiled with module API=20100525 PHP compiled with module API=20121212
と書いてある
これはどうも、「PHP5.5系 → API=20121212」でうごかしてるけどimagickが「PHP5.4系 → API=20100525」だと言っている感じ
要するにこうして解決した
# 各バージョン用のimagickモジュール マイナーバージョンごとに1つあれば良い
mkdir /usr/local/src/php5.4
cd /usr/local/src/php5.4
git clone -b phpseven --depth 1 https://github.com/mkoppanen/imagick
cd /usr/local/src/php5.4/imagick
./configure --with-php-config=/usr/local/bin/php-config-5.4.39
make
make install
mkdir /usr/local/src/php5.5
cd /usr/local/src/php5.5
git clone -b phpseven --depth 1 https://github.com/mkoppanen/imagick
cd /usr/local/src/php5.5/imagick
/usr/local/bin/phpize-5.5.23
./configure --with-php-config=/usr/local/bin/php-config-5.5.23
make
make install
mkdir /usr/local/src/php5.6
cd /usr/local/src/php5.6
git clone -b phpseven --depth 1 https://github.com/mkoppanen/imagick
cd /usr/local/src/php5.6/imagick
/usr/local/bin/phpize-5.6.7
./configure --with-php-config=/usr/local/bin/php-config-5.6.7
make
make install
解説
- 各バージョンごとのソース置き場を作り
- git cloneでソースをDL
- それぞれのversionのphpizeを実行して
- インストール