Por fin ImageMagick con la extensión Imagick de php

Tres días. Eso es lo que he tardado en poder prepararme el Xampplite (una de las versiones de Xampp) para poder usar y probar la extensión Imagick de php en mi ordenador con Windows, ya que los sosos de mi host no han incluido extensiones de php tan útiles y tan bonitas como Imagick o mcrypt (no tardaré en darles puerta).

Pero vayamos al asunto:

  • Necesitamos descargar e instalar ImageMagick de aqui.
    Yo elegí la Win32 dynamic (dll) at 16 bits-per-pixel(Q16).

  • Instalala en c:\imagemagick661 o cualquier ubicación fácil y sin espacios.

  • Modificamos las variables de entorno:
    Mi Pc (click derecho)>Propiedades>Opciones Avanzadas>Variables de entorno
    Tenemos que modificar o crear estas:


    MAGICK_HOME=C:\imagemagick661
    Path=%MAGICK_HOME%\;otra ruta;otra ruta;etc...


    En Path habrá otras rutas, debemos poner la de %MAGICK_HOME%\ antes que las demás porque sino convert no funciona ya que se escribe igual que un comando del sistema, y recuerda separar las rutas con ;

  • Para que el sistema tenga en cuenta las nuevas rutas podría ser necesario reiniciar el equipo

  • Dentro de xampplite hay una carpeta llamada php. No vamos a borrarla sino a renombrarla (No creo que haga falta decir que el servidor esté apagado). Le ponemos php2 por ejemplo, si algo falla siempre podremos volver a llamarla php.

    La versión de nuestro php era 3.2.0, así que vamos a descargarnos la versión zip de un php parecido pero esta vez será VC9, lo podemos descargar de aquí. Necesitamos la "VC9 x86 Thread Safe" porque yo no encontré la librería php_imagick.dll compilado para VC6.

    La descargamos en zip, creamos una carpeta llamada php (la otra había sido renombrada) y descomprimimos todo el contenido del zip en esa carpeta php.
    Puede que no tenga el archivo php.ini, si es el caso pues lo copiamos de php2 que si lo tenía y lo ponemos en la nueva carpeta php.

    Si lo dejamos así podría dar muchos fallos porque las extensiones de php que hay configuradas en el php.ini eran las del otro php. Tenemos que entrar en el php.ini y sacar todas las extensiones que no tengamos en /xampplite/php/ext (yo las quite todas). Son las líneas que dice extension=php_zip.dll etc... si les pones un ; delante se considerarán comentarios.
    Además debemos incluir nuestra extensión si no estaba en una linea del php.ini:

    extension=php_imagick.dll

    Guardamos y cerramos el php.ini

  • Necesitamos además esa librería dinámica en versión VC9, la podemos descargar de aquí. La versión que necesitamos es esta:
    imagick - vc9 - ts (thread safe)

    Yo descargué esta -> php_imagick_ts.dll (2.3.1-dev)

    Tan sólo falta renombrar esa .dll a php_imagick.dll y copiarla a /xampplite/php/ext/

Ya está todo!, arranca el servidor, puede que te salgan un par de advertencias, pero después funciona bien Imagick.

Para probarlo créate algún archivo .php de prueba, puedes encontrar ejemplos en
http://www.php.net/manual/en/imagick.examples-1.php.

Comentarios

Publicar un comentario

Entradas populares de este blog

CMapTools flecha directa a un nodo

Tres ejemplos de cómo usar un jComboBox en java netbeans 6

Personalizar el render de celdas de un jTable