押入れ起業

ガレージベンチャー、ならぬ。もっぱらPHPプログラミングとアフィリエイトの研究をしています。

PHP

XAMPPのPHPとさくらのレンタルサーバー・ライトでImageMagick/imagickがやっと動いたのでメモ

投稿日:

XAMPPのPHPでImageMagick/imagickが動いたやりかた

いろいろ失敗しつづけて3日間、XAMPPのPHPでImageMagick/imagickがやっと動いた。ImageMagickは画像を編集するソフトウェアで、imagickはそれをPHPで利用するための関数ということみたい。んで、それをXAMPPのPHPで利用するためのインストール作業が全然うまく行かなかったのだ。

上手くいかないのでこんなエラーが出る。

Fatal error: Class ‘Imagick’ not found in ~~~

当方の環境は Windows7 64bit、XAMPP v5.6.3 (PHP 5.6.3)。

ImageMagick/imagickをPHPで利用するためには、まずImageMagickをインストールして、さらにPHPのextensionにphp_imagick.dllを入れてphp.iniの設定を変える必要がある。

まずImageMagickの公式サイトにImageMagick-6.9.1-1-Q16-x64-dll.exeがあるけど、これはPHPで動かないみたい。php.netにあるのもダメだった。

うまく行ったのは、下記サイトで配布されているImageMagick-6.6.2-10-Q16-windows-dll.exeのファイル。

しかしphp_imagick.dllを、このサイトの説明にある配布サイトからダウンロードするとXAMPP起動時にエラーのアラートが出る。

MagickSmushImages がダイナミックリンクライブラリ CORE_RL_wand_.dllから見つかりませんでした。

うまく行ったのははPECLのサイトにある5.6 Thread Safe (TS) x86 (php_imagick-3.1.2-5.6-ts-vc11-x86.zip)のファイル。これを解凍し、フォルダの中からphp_imagick.dllをC:\xampp\php\extへ入れて、php.iniに

extension=php_imagick.dll

と追記すればオッケー。

これで当初の Class ‘Imagick’ not found のエラーは出なくなったが、PHPマニュアルにあるこのサンプルスクリプトが動かない。エラー内容は下記の通り。

Fatal error: Uncaught exception ‘ImagickException’ with message ‘unable to open image `image.jpg’: No such file or directory @ error/blob.c/OpenBlob/2514′ in C:\xampp\htdocs\(略)\sample.php:5 Stack trace: #0 C:\xampp\htdocs\(略)\sample.php(5): Imagick->__construct(‘image.jpg’) #1 {main} thrown in C:\xampp\htdocs\(略)\sample.php on line 5

このエラーは、ここを参考に画像を絶対位置で指定したら出なくなった。

$image = new Imagick("C:/xampp/htdocs/(中略)/image.jpg");

なお、PECLにあるこれ以外のphp_imagick.dllはどれも何かしらのエラーで動かなかった。

なんだかよくわからないことだらけだが、まずは動いたのでこれでいいことにしよう。

さくらのレンタルサーバー・ライトでImageMagick/imagickを使う方法

サーバ管理画面のPHP設定の編集で、php.iniに

extension = imagick.so

を追記するだけ。さくらではサンプルスクリプトがそのままで動いた。絶対位置指定しないで。

PC

PC

-PHP
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

piwik

PHP/MySQLで動くオープンソースのアクセスログ解析「Piwik」を削除した

PHP/MySQLで動くオープンソースのアクセスログ解析「Piwik」を削除した。アクセスログが溜まりすぎたからだ。 元々Piwikを導入したのは、(1)外部のアクセス解析サービスを使うとその重さに引 …

PHP

PHPでxmlデータを取得する

simplexml_load_file($url); – XMLファイルをパースし、オブジェクトに代入する get_object_vars – 指定したオブジェクトのプロパティ …

piwik

PHP/MySQLで動くオープンソースのアクセスログ解析「Piwik」の素晴らしい点

先日ちょろっと書いたけど、Piwikというアクセス解析のPHPスクリプトが実にいい。結局これに限る。 良い点 無料、というかフリー(オープンソース)のPHPスクリプト 高性能 設置するサイトをたくさん …

daterss

アクセスした日時を返すだけのRSSウェブサービスを作った

電脳ウェブサービスをやると言って、んでいよいよhtmlへはめ込む段階で今度はBootsTrapだと言って、それ以降更新してなかったが実はCSS2やCSS3の本を読んでいる途中という脇道から反れ反れでは …

PHP

PDOでSQLiteの研究(1)

最近は電脳卸の研究が止まっているが、いろいろ忙しく。でもやりたい事はいろいろあるので、調べるだけは調べるのだ。 SQLite入門 【PHP】PDO関数でSQLiteを使ってみた(1) 【PHP】PDO …

open all | close all
open all | close all