O Imagick é a extensão que dá ao PHP o poder do ImageMagick: abrir formatos que o resto não abre, redimensionar melhor, tratar perfis de cor, converter PDF em imagem. Muitos programas exigem-na e recusam-se a arrancar sem ela.
|
Numa conta de hospedagem partilhada, isto liga-se sozinho, no painel, sem pedir nada a ninguém. Não vem ligado de origem, mas está na lista de extensões do Select PHP Version, com uma caixa. É a primeira secção deste artigo. A parte do WHM, mais abaixo, é para quem tem revenda, VPS ou servidor dedicado e precisa de instalar em vez de ligar.
|
Numa conta partilhada: ligar no Select PHP Version
| 1 |
No cPanel, abra o Select PHP Version, na secção de software.
|
|
| 2 |
Repare na versão de PHP escolhida antes de mexer em mais nada. As extensões ligam-se por versão. Se mudar de versão mais tarde, a lista volta ao que era e tem de marcar outra vez. É a causa número um de «funcionava e deixou de funcionar».
|
|
| 3 |
Na lista de extensões, marque o Imagick e grave. A mudança é imediata.
|
|
| 4 |
Confirme numa página de informação do PHP. Tem de aparecer uma secção com o nome da extensão e a versão do ImageMagick. Marcar a caixa não é prova; a página de informação é. Como se faz: ver e ajustar a configuração do PHP.
|
|
| 5 |
Abra o site e experimente a função que precisava dela. É o único teste que conta.
|
|
A mesma lista tem outras extensões que vários programas exigem e que também vêm desligadas. Se está a instalar uma loja, um sistema de ensino ou um portal grande, vale a pena ler a lista de requisitos do programa e marcar tudo de uma vez, em vez de andar a descobrir uma de cada vez a meio da instalação.
Antes disso: precisa mesmo do Imagick?
O GD, que já está ligado, resolve o que a esmagadora maioria dos sites faz com imagens, e gasta bastante menos memória. Vale a pena perguntar antes de ligar mais uma peça.
| Precisa de |
Serve |
| Redimensionar, recortar, marca de água, JPEG e PNG |
GD. Já lá está, e gasta menos. |
| Abrir PDF, TIFF, PSD, EPS ou SVG |
Imagick. O GD não lê nada disto. |
| Qualidade de redimensionamento superior, perfis de cor, lotes grandes |
Imagick. |
| Um programa que se recusa a arrancar sem a extensão |
Imagick, e não há conversa. |
E há ainda um terceiro caminho, que muita gente não conhece: o próprio programa ImageMagick está instalado na máquina, e o seu código pode chamar o comando convert directamente, sem extensão nenhuma. As funções de PHP que permitem isso não estão desligadas aqui: ver as funções exec e shell_exec.
Com WHM, VPS ou dedicado: instalar em vez de ligar
Num servidor seu, ou numa revenda com WHM, as versões de PHP do servidor são suas para montar, e a extensão instala-se em vez de se marcar numa caixa.
| 1 |
Saiba em que versão de PHP vai instalar. Uma extensão instala-se por versão: instalar numa não põe nada na outra. Confirme qual é a que o site usa.
|
|
| 2 |
No WHM, procure os instaladores de módulos, na secção de software. Há um por versão de PHP, e é onde se instalam extensões do repositório de extensões do PHP.
|
|
| 3 |
Procure a extensão na lista e mande instalar. Ele compila, o que demora alguns minutos, e escreve o que vai fazendo. Leia até ao fim: se falhar, a razão está nas últimas linhas.
|
|
| 4 |
Reinicie o servidor web. Sem isso a extensão está em disco e não está carregada, e fica convencido de que a instalação falhou.
|
|
| 5 |
Confirme na página de informação do PHP, como acima.
|
|
Se a instalação se queixar de que falta alguma coisa para compilar, o que falta são os pacotes de desenvolvimento do próprio ImageMagick, que se instalam pelo gestor de pacotes do sistema com acesso de administrador. Num VPS ou dedicado isso está ao seu alcance; numa revenda não, e aí o caminho é pedir-nos.
Depois de ligado, os dois cuidados
|
O Imagick come memória a sério. Ao abrir uma imagem, descomprime-a inteira para memória. Um ficheiro pequeno em disco pode ocupar muitas vezes mais depois de aberto, e uma página de PDF em alta resolução esgota o limite de memória do PHP sem aviso nenhum: o resultado é uma página em branco. Os limites e onde se mexem estão em os limites do PHP.
|
|
Se aceita imagens enviadas por estranhos, restrinja os formatos. O ImageMagick abre dezenas de formatos, e alguns deles, sobretudo os de documento, já foram usados para fazer servidores executarem coisas que não deviam. Desligue no seu programa tudo o que o site não precisa de aceitar, e valide o que recebe antes de o mandar abrir.
|
|
Ligou a extensão e o programa continua a dizer que falta? Diga-nos o endereço e a versão de PHP que escolheu.
Abrir um pedido de suporte
|
PRODUTO RECOMENDADO Revenda de alojamento com WHM Crie, aloje e facture os seus próprios planos, com a sua marca. desde R$ 297,00/mês Ver planos |