QA@IT

phpにてImageMagickをインストールについて

5075 PV

phpにてImageMagickをインストールしました。

インストールし、php.iniに記載後、apache再起動した際に
apacheのerror.logとphp -vを見ると
モジュールのバージョン違い?でエラーが出ている様で
現状どうしてもエラー状態で困っております。

※peclで入れる際にphpizeが無かった為
yumでphp-develを入れphpizeが入るようにしました。

お忙しい中恐れ入りますがご確認の程お願い申し上げます。

各種バージョンとなります。
# /usr/local/apache2.2/bin/httpd -v   
Server version: Apache/2.2.23 (Unix)
Server built:   Mar 29 2013 08:50:07

# php -v
PHP Warning:  PHP Startup: imagick: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20131226
These options need to match
 in Unknown on line 0
PHP 5.6.1 (cli) (built: Oct  8 2014 05:47:41) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies

# phpize -v
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

# cat /etc/issue
CentOS release 6.6 (Final)
Kernel \r on an \m



# yum install ImageMagick
# yum install ImageMagick-devel

# pecl install imagick
downloading imagick-3.1.2.tgz ...
Starting to download imagick-3.1.2.tgz (94,657 bytes)
.....................done: 94,657 bytes
15 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Please provide the prefix of Imagemagick installation [autodetect] : /usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/
一部抜粋
running: make INSTALL_ROOT="/var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2" install
Installing shared extensions:     /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/lib64/php/modules/
Installing header files:          /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/include/php/
running: find "/var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2" | xargs ls -dils
798498    4 drwxr-xr-x 3 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2
798531    4 drwxr-xr-x 4 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr
798535    4 drwxr-xr-x 3 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/include
798536    4 drwxr-xr-x 3 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/include/php
798537    4 drwxr-xr-x 3 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/include/php/ext
798538    4 drwxr-xr-x 2 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/include/php/ext/imagick
798539    4 -rw-r--r-- 1 root root    2476 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/include/php/ext/imagick/php_imagick.h
798540   28 -rw-r--r-- 1 root root   24972 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/include/php/ext/imagick/php_imagick_defs.h
798541    4 -rw-r--r-- 1 root root    1795 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/include/php/ext/imagick/php_imagick_shared.h
798532    4 drwxr-xr-x 3 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/lib64
798533    4 drwxr-xr-x 3 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/lib64/php
798534    4 drwxr-xr-x 2 root root    4096 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/lib64/php/modules
798530 1056 -rwxr-xr-x 1 root root 1078633 Feb 25 20:27 /var/tmp/pear-build-rootX66TCf/install-imagick-3.1.2/usr/lib64/php/modules/imagick.so

Build process completed successfully
Installing '/usr/lib64/php/modules/imagick.so'
Installing '/usr/include/php/ext/imagick/php_imagick_defs.h'
Installing '/usr/include/php/ext/imagick/php_imagick_shared.h'
Installing '/usr/include/php/ext/imagick/php_imagick.h'
install ok: channel://pecl.php.net/imagick-3.1.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=imagick.so" to php.ini





vi php.ini
extension = imagick.so

apache再起動

再起動後のapacheのerror.logは以下
[Wed Feb 25 20:17:19 2015] [notice] Digest: done
PHP Warning:  PHP Startup: imagick: Unable to initialize module\nModule compiled with module API=20090626\nPHP    compiled with module API=20131226\nThese options need to match\n in Unknown on line 0
[Wed Feb 25 20:17:19 2015] [notice] Apache/2.2.23 (Unix) PHP/5.6.1 configured -- resuming normal operations


# php -v
PHP Warning:  PHP Startup: imagick: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20131226
These options need to match
 in Unknown on line 0
PHP 5.6.1 (cli) (built: Oct  8 2014 05:47:41) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies

回答

php と phpize でバージョンが異なっています。

php はどうやってインストールしましたか? ソースからですか?
だとしたら php-devel を yum からインストールしてはいけません。

php をソースからインストールしたときに phpize なども一緒にインストールされたと思います。

編集 履歴 (0)
  • phpはソースでインストールしました。
    phpizeが無かった為入れましたが
    ご回答頂いた通り、locateで確認したところ
    御座いましたがパスが通っておりませんでしたので
    以下追加し、再度インストールし直しできました。

    cat .bash_profile(root配下)
    PATH=$PATH:/usr/local/ph

    ご丁寧な回答頂き有難う御座います。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。