概要
状態:挫折により終了
閲覧数:1,900
投稿日:2013-04-30
更新日:2013-04-30
前回の続き
下記を見て、「ImageMagick」「セーフモード」に挑戦しようと思った
・セーフモードの対象からはずれる
・PHPセーフモード(CGIにはしていない)
・実際に参考にしたのはこのサイト
・ImageMagick: Advanced Unix Source Installation
結果
・「セーフモード」で動作させようとするも、うまくいかず
・CGIモードなら動作する
・ImageMagickバージョンは、「6.2.9」のまま
どういう状態なのか不明
・CGIモードにした時だけ、Imagick経由で読み込んでいる?
ディレクトリ構成
・/virtual/★★/ImageMagick-6.8.5-3/
・/virtual/★★/ImageMagick/ … 何不明
・/virtual/★★/ImageMagick-6.8.5-3/imagick
下記を見て、「ImageMagick」「セーフモード」に挑戦しようと思った
・セーフモードの対象からはずれる
・PHPセーフモード(CGIにはしていない)
・実際に参考にしたのはこのサイト
・ImageMagick: Advanced Unix Source Installation
結果
・「セーフモード」で動作させようとするも、うまくいかず
・CGIモードなら動作する
var_dump(class_exists('Imagick'));
・ImageMagickバージョンは、「6.2.9」のまま
identify -version
Version: ImageMagick 6.2.9 09/09/06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC
どういう状態なのか不明
・CGIモードにした時だけ、Imagick経由で読み込んでいる?
ディレクトリ構成
・/virtual/★★/ImageMagick-6.8.5-3/
・/virtual/★★/ImageMagick/ … 何不明
・/virtual/★★/ImageMagick-6.8.5-3/imagick
手順
★★:~> ftp ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
Connected to ftp.imagemagick.org.
220 (vsFTPd 2.0.5)
331 Please specify the password.
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Switching to Binary mode.
250 Directory successfully changed.
250-For a list of alternative ImageMagick download sites, see
250-
250- http://www.imagemagick.org/script/download.php
250-
250-The current stable release is version 6.8.5. See http://www.imagemagick.org/
250-for more information about ImageMagick.
250-
250-Due to U.S. Exports Regulations, all cryptographic software on this site
250-is subject to the following legal notice:
250-
250- This site includes publicly available encryption source code which,
250- together with object code resulting from the compiling of publicly
250- available source code, may be exported from the United States under
250- License Exception "TSU" pursuant to 15 C.F.R. Section 740.13(e).
250-
250-This legal notice applies to cryptographic software only. Please see
250-the Bureau of Export Administration (http://www.bxa.doc.gov/) for more
250-information about current U.S. regulations.
250 Directory successfully changed.
local: ImageMagick.tar.gz remote: ImageMagick.tar.gz
229 Entering Extended Passive Mode (|||45209|)
150 Opening BINARY mode data connection for ImageMagick.tar.gz (13665981 bytes).
100% |*******************************************| 13345 KB 333.22 KB/s 00:00 ETA
226 File send OK.
13665981 bytes received in 00:40 (332.19 KB/s)
221 Goodbye.
・解凍
★★:~> tar xvfz ImageMagick.tar.gz
ImageMagick-6.8.5-3/
ImageMagick-6.8.5-3/utilities/
ImageMagick-6.8.5-3/utilities/convert.c
(中略)
ImageMagick-6.8.5-3/QuickStart.txt
ImageMagick-6.8.5-3/configure
ImageMagick-6.8.5-3/ChangeLog
・移動
★★:~> cd ImageMagick-6.8.5-3
・設定
★★:~/ImageMagick-6.8.5-3> ./configure --prefix=$HOME/ImageMagick --disable-assert --with-quantum-depth=8
configuring ImageMagick 6.8.5-3
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
(中略)
CXXFLAGS = -g -O2 -pthread
FEATURES = DPC
DELEGATES = bzlib dps fontconfig freetype jng jpeg lcms png ps tiff x xml zlib
make
・5回エラー(6回目に成功)
※「make」エラーの状態で「make install」しても、絶対に成功しない
・失敗例
★★:~/ImageMagick-6.8.5-3> make
make all-recursive
make[1]: Entering directory `/virtual/★★/ImageMagick-6.8.5-3'
Making all in .
(中略)
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/virtual/★★/ImageMagick-6.8.5-3'
make: *** [all] Error 2
・成功例
★★:~/ImageMagick-6.8.5-3> make
make all-recursive
make[1]: Entering directory `/virtual/★★/ImageMagick-6.8.5-3'
Making all in .
(中略)
cp -f Magick++/lib/ImageMagick++.pc Magick++/lib/ImageMagick++-6.Q8.pc
make[2]: Leaving directory `/virtual/★★/ImageMagick-6.8.5-3'
make[1]: Leaving directory `/virtual/★★/ImageMagick-6.8.5-3'
make install
★★:~/ImageMagick-6.8.5-3> make install
make install-recursive
make[1]: Entering directory `/virtual/★★/ImageMagick-6.8.5-3'
Making install in .
(中略)
make[3]: Leaving directory `/virtual/★★/ImageMagick-6.8.5-3'
make[2]: Leaving directory `/virtual/★★/ImageMagick-6.8.5-3'
make[1]: Leaving directory `/virtual/★★/ImageMagick-6.8.5-3'
Imagickダウンロ-ド
★★:~/ImageMagick-6.8.5-3> pecl bundle Imagick-3.0.1
WARNING: channel "pecl.php.net" has updated its protocols, use "channel-update pecl.php.net" to update
downloading imagick-3.0.1.tgz ...
Starting to download imagick-3.0.1.tgz (93,920 bytes)
.....................done: 93,920 bytes
Package ready at '/virtual/★★/ImageMagick-6.8.5-3/imagick'
・移動
★★:~/ImageMagick-6.8.5-3> cd imagick
・phpize
★★:~/ImageMagick-6.8.5-3/imagick> phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
・設定
★★:~/ImageMagick-6.8.5-3/imagick> ./configure --with-imagick=$HOME/ImageMagick-6.8.5-3
checking for egrep... grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for gcc... gcc
(設定)
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged
・ make
★★:~/ImageMagick-6.8.5-3/imagick> make
Build complete.
Don't forget to run 'make test'.
・make test
★★:~/ImageMagick-6.8.5-3/imagick> make test
/bin/sh /virtual/★★/ImageMagick-6.8.5-3/imagick/libtool --mode=install cp ./imagick.la /virtual/★★/ImageMagick-6.8.5-3/imagick/modules
cp ./.libs/imagick.so /virtual/★★/ImageMagick-6.8.5-3/imagick/modules/imagick.so
cp ./.libs/imagick.lai /virtual/★★/ImageMagick-6.8.5-3/imagick/modules/imagick.la
PATH="$PATH:/sbin" ldconfig -n /virtual/★★/ImageMagick-6.8.5-3/imagick/modules
----------------------------------------------------------------------
Libraries have been installed in:
/virtual/★★/ImageMagick-6.8.5-3/imagick/modules
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' l
・ディレクトリ生成
mkdir $HOME/extension
・コピー
$ cp modules/imagick.so $HOME/extension/
・php.ini
extension_dir = "/virtual/★★/extension"
extension = imagick.so
・Imagick
「ImageMagick」を「CGIモード」で動作させる際の注意事項
.htaccess
Fatal error: Class 'Imagick' not found
・「.php」をCGI版PHP5.4として動かそうとすると、エラー
・php.iniを設置していないためエラー
AddHandler application/x-httpd-php54cgi .php
・「.php」をCGI版PHP5として動かせばOK
AddHandler application/x-httpd-php5cgi .php
・なぜ? 書き方の問題?
上記とは別で、「.php」をCGI版PHP5.4として動かそうとすると、エラーになることがある
・その場合は「.php」をCGI版PHP5として動かせばOK
・原因は不明