Imagemagick windows alatt
Az utóbbi hetekben a CMS fejlesztés közben többször is meggyűlt a bajom a GD2 libraryvel a transparent PNG-k kapcsán, majd speciális JPEGek és a rossz sharpness beállításokkal is. Elegem lett. Alapvetően nem vagyok a híve az észnélküli kiegészítő telepítéseknek, de az ImageMagick egy elég gyakori képfeldolgozó szoftver unix alapú szervereken, így bevállaltam, hogy a CMS rendszerkövetelményei közé bekerüljön ez is. Nekem windows alá kellett installálnom, íme, hogy is megy ez pontosan:
1. Maga az install automatikus, letöltjük az ImageMagick honlapjáról a nekünk megfelelő Windows Binary installert és elindítjuk. Ha nem tudod melyik a neked megfelelő, akkor válaszd a ImageMagick-X.X.X-X-Q16-windows-dll.exe változatot.
2. Az installer alapbeállításban hozzáadja a progit a system path-hoz, így parancssorból könnyen használható a progi. Az installer utolsó ablakában van is egy teszt példa az image magick logójával. Ezt érdemes lefuttatni, hogy működik-e a dolog magában.
3. Jöhet a php-s kiegészítő dll, amit innen tölthetünk le: http://snaps.php.net/win32/
Válasszuk a saját php verziónknak megfelelő kiadású peclX.X -win32-latest.zip fájlt és guberáljuk ki belőle a php_imagick.dll állományt! Másoljuk a php könyvtárának extension mappájába!
4. A php még nem tudja, hogy nekünk van ImageMagick progink a gépen, mondjuk meg neki! A php.ini fájlba vegyük fel a következő sorokat:
extension=php_imagick.dll
5. Indítsuk újra szervert, hogy a php.ini fájl feldolgozásra kerüljön!
6. Teszteljük!
teszt.php fájl tartalma első lépésben:
<?php phpinfo();?>
Futtatás után a phpinfo-ban szerepelnie kell egy Imagick résznek. Ha nem szerepel, akkor elrontottuk az installálást valahol. Ha szerepel, akkor próbáljuk ki:
A teszt.jpg-t másoljuk a teszt.php mellé, aminek a tartalma legyen:
<?php header('Content-type: image/jpeg'); $image = new Imagick('teszt.jpg'); $image->thumbnailImage(100, 0); echo $image; ?>
Az Imagemagick egyik nagy előnye, hogy a php exec paranccsal lehetőség van a parancssoros feldolgozásra, azaz nem a php futtatja a képek átalakítását, hanem egy külön windows programszál. Erről majd máskor..

A PHP mint bármely másik script nyelv potenciális veszélyt jelent szerverünk számára.. Biztos sokaknak meggyűlt már a baja a komisz fopen függvénnyel.. elég egy rossz beállítás és máris olvasható az összes rendszerfájl.. és akkor már mit sem ér a jól beállított apache, a tűzfal, és a többiek. Nem árt, ha egy ilyen professzionálisnak nem is - de hasznosnak mindenképp- mondható kis eszközzel mint a phpsecinfo, leellenőrizzük a php.ini beállításait.