Como Instalar ImageMagick, imagick com PHP 5.3 no Windows 7, XP com Apache e VC6

NUNCA SE ESQUEÇA! INFORME O CAMINHO ABSOLUTO PARA O ARQUIVO

Olha só que caos!

Conheci por acaso o ImageMagick e fiquei horrorizado com a quantidade de formatos que o mesmo manipula, praticamente todos, e mais ainda, descobri que ele tinha uma extensão disponível para o PHP.

Olhei a documentação do PHP e vi a grande variedade de métodos disponíveis para o mesmo, e não perdi tempo e buscar uma forma de instalar, pois me pareceu muito útil, principalmente para gerar miniaturas perfeitas de imagens em galerias de imagens.

Aparentemente, tudo iria dar certo, mas como utilizo o PHP 5.3.3 algumas dificuldades começaram a surgir, pois a maioria dos tutorias eram para o Windows Xp e PHP 5.2 ou menor, achei até algo para PHP 4.3, nem sei quem usa php 4, mas deve ter, não duvido nada.

  1. Primeira delas foi o fato de cada tutorial sugerir uma versão diferente do ImageMagick a ser utilizada.
  2. Em segundo, o fato do PHP ser compilado com VC6 e VC9
  3. Ai veio o fato do PHP ter TS(thread safe) e NTS (non-thread save)
  4. Ai depois veio o registro do ImageMagick no windows ser visto pelo php.ini
  5. e por fim, Imagick aparecer listado no php.ini.

Consegui instalar tudo, só não consegui fazer o bixinho funcionar com um código igual à este ( que é o primeiro exemplo do php.net )



<?php

header('Content-type: image/jpeg');

$image = new Imagick( 'test.jpg' );

$image->thumbnailImage(100, 0);

echo $image;

Aparecia uma mensagem dizendo que a conexão com o servidor foi encerrada inesperadamente.

Até consegui executar o ImageMagick via comando, mas não era o que eu queria.

Ai, num dia sem sono, ou bem dormido, sei lá…. depois de duas semanas sem sucesso na instalação do Imagick no PHP, mas como não desisto fácil dos meus objetivos, apesar de ter encontrado uma classe que processava os comandos do ImageMagic via exec(), acordei às 4 horas da madrugada, tomei banho às 5, e fui para minha empresa às 6 estudar um pouco de PHP, e inventei de testar a biblioteca “fileinfo” no PHP 5.3 e descubro que tal biblioteca precisava do caminho absoluto do arquivo para achar o arquivo a ser processado, aiiiiiiiiiiii, foi só associar as coisas e descobrir que o PHP 5.3 não estava encontrando os arquivos a serem processados e por isto que dava erro, só isto, ai ao invés de:



<?php

header('Content-type: image/jpeg');

$image = new Imagick( 'test.jpg' );

$image->thumbnailImage(100, 0);

echo $image;

era só mudar a linha:



<?php

...

$image = new Imagick( 'test.jpg' );

...

para:



<?php

...

$image = new Imagick( dirname(__FILE__) . '/test.jpg' );

...

Para ver a miniatura ser criada antes de piscar os olhos e pensar em esperar!

Pronto! Resolvido! Hoje sou um dos caras mais felizes do mundo e posso pensar em aplicações mais robustas com processamentos avançadíssimos de imagens!

NUNCA SE ESQUEÇA! INFORME O CAMINHO ABSOLUTO PARA O ARQUIVO

Instalando tudo

NUNCA SE ESQUEÇA! INFORME O CAMINHO ABSOLUTO PARA O ARQUIVO

Vou colocar abaixo o link para os softwares que utilizei pelo 4shared e as orientações que tomei, se você estiver utilizando php no IIS ou Apache com VC9, procure outro tutorial na net, e se apesar de listar tudo, direitinho, apenas preste atenção na questão do caminho do arquivo que citei acima.

Baixe e instale o ImageMagick ImageMagick-6.6.6-6-Q16-windows-dll.exe em qualquer lugar menos Arquivos de Programa (na raiz do disco é melhor) e marque todas as opções menos a que diz: “Associate supported file extensions with ImageMagick” e ignore uma mensagem de erro que vai aparecer

Baixe a dll php_imagick.dll e coloque na pasta de extensões do php

Acrescente a chamada à dll no arquivo php.ini no final da lista de extensões do php



... #toda a lista acima

extension=php_imagick.dll

E use o script que utilizei para testar. (troque o nome do arquivo para coincidir com o que você está utilizando).

NUNCA SE ESQUEÇA! INFORME O CAMINHO ABSOLUTO PARA O ARQUIVO



<?php

header('Content-type: image/jpeg');

$image = new Imagick( dirname(__FILE__) . '/test.jpg' );

$image->thumbnailImage(100, 0);

echo $image;

Pronto!

Espero que tenha funcionado!

Se não funcionar, talvez eu não possa ajudar de outra forma, pois esta foi a única forma de ver o bixinho funfando!

Abraços e NUNCA SE ESQUEÇA! INFORME O CAMINHO ABSOLUTO PARA O ARQUIVO

Um comentário sobre “Como Instalar ImageMagick, imagick com PHP 5.3 no Windows 7, XP com Apache e VC6”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *