Solución:
EDITAR: Este procedimiento funciona con Windows 7 – 10 y también con todas las versiones de PHP.
Los sitios no oficiales pueden interrumpirse o modificarse posteriormente para que contengan códigos maliciosos. Tenga cuidado al utilizar enlaces o espejos recomendados que no sean los sitios oficiales de ImageMagick, PECL o PHP proporcionados en los comentarios u otras respuestas.
No pude hacer que Imagick funcionara con PHP usando una versión anterior de ImageMagick como en la respuesta originalmente aceptada y fue difícil encontrar espejos con la exacta binarios seguros necesario (los binarios en el espejo en la respuesta aceptada originalmente se descargaron como versiones diferentes a las enumeradas)
En todos los pasos a continuación, asegúrese de hacer coincidir su arquitectura PHP (x86 / x64 y NTS / TS) con la arquitectura del binario. Si está utilizando PHP x86, reemplace la versión x64 de las descargas con la versión x86 (o 32 bits). Lo mismo se aplica a las versiones Thread-Safe (TS) y Non-Thread-Safe (NTS) de PHP.
Extensión PHP Imagick
- Vaya a https://pecl.php.net/package/imagick y descargue la última DLL
(3.3.0RC1)
en el momento de esta respuesta.
- Extraer
php_imagick.dll
paraD:php5.6ext
- Extraer todo
CORE_RL_*.dll
archivos aD:php5.6
– - Garantizar
D:php5.6
ya está agregado a laPATH
de las variables de entorno de su sistema - Agregar
extension = php_imagick.dll
paraD:php5.6php.ini
- Reinicie Apache, PHP-FPM o el servidor web incorporado PHP
- Cheque
phpinfo();
para asegurarse de que el módulo esté instalado correctamente Tenga en cuenta la versión de ImageMagick resaltada(ImageMagick 6.9.1-2 Q16 x64)
y los formatos compatibles que faltan
ImageMagick Binary
- (1a) Descargue e instale la versión correspondiente de ImageMagick para
D:php5.6bin
de https://www.imagemagick.org/script/download.php – Asegúrese de que elAdd Path to Environment Variables
la opción está marcada o agregarla manualmente - (1b) Como alternativa, descargue las dependencias PECL para su versión de la extensión Imagick PECL; consulte a continuación para obtener más detalles.
- Cargar un símbolo del sistema (ejecutar como administrador, lo que obliga a actualizar la variable de ruta del sistema) y asegurar
convert --version
muestra la versión correcta - Eliminar lo extraído previamente
CORE_RL_*.dll
archivos enD:php5.6
(se cargarán a través de la ruta ImageMagick; de lo contrario, su instalación de PHP puede volverse inestable con las dlls de PECL) - Reinicie Apache, PHP-FPM o el servidor web incorporado PHP
- Cheque
phpinfo();
para asegurarse de que el módulo aún esté instalado correctamente y ahora esté cargando los formatos compatibles con Imagick
Imagick PDF as Image Support – Ghostscript (opcional)
- Opcionalmente, descargue e instale Ghostscript para
D:php5.6bin
para poder convertir archivos PDF a imágenes desde http://sourceforge.net/projects/ghostscript/ asegúrese de que coincida con la arquitectura de su instalación
No necesitaba agregar MAGICK_HOME
para que Imagick funcione con el servidor web incorporado de PHP o CGI, pero puede ser necesario para que Apache utilice mod_php
. Ver el Consideraciones Especiales sección a continuación para obtener detalles adicionales.
Dependencias de PECL Imagick (1b)
Alternativamente, puede descargar las dependencias de la versión de ImageMagick requeridas y extraer el exe
y dll
archivos desde dentro del bin
directorio directamente en su D:php5.6
directorio. Las dependencias se pueden encontrar en el sitio web de PECL http://windows.php.net/downloads/pecl/deps/
El uso de las dependencias de PECL elimina la necesidad de descargar y ejecutar directamente el instalador de la versión correspondiente de ImageMagick desde el sitio web del proveedor.
Con el método de dependencias PECL, hubo problemas con los archivos excluidos necesarios para las conversiones de PDF utilizando GhostScript.
Consideraciones Especiales
Asegúrese de que el usuario que ejecuta PHP tenga permiso para ejecutar convert
. Esto debería heredarse a través de D:php5.6bin
pero en caso de que elijas instalarlo C:Program Files
. puede tener problemas debido a sus permisos restringidos.
Asegúrese de reorganizar su PATH
Variable de entorno del sistema para que %SystemRoot%system32convert.exe
no anula el D:php5.6binconvert.exe
.
Al agregar su ruta de PHP a la izquierda de system32, así: SENDERO: D:php5.6bin;%SystemRoot%system32;%SystemRoot%;...
Esto obligará a su sistema a buscar archivos ejecutables dentro D:php5.6bin
antes de %SystemRoot%system32
Reemplazar D:php5.6binconvert.exe
con la ruta a donde instaló ImageMagick o la ruta a donde convert.exe
se encuentra
https://technet.microsoft.com/en-us/library/cc723564.aspx#XSLTsection127121120120
Finalmente lo hice funcionar, esto es lo que tenía que hacer: (referenciado desde http://refreshless.com/blog/imagick-pecl-imagemagick-windows/)
- Instale una versión anterior de ImageMagick (6.7.7-5 Q16) disponible en este sitio web.
- Instale los archivos DLL de PECL Imagick (php_imagick-3.1.2-5.6-ts-vc11-x86.zip) descargados de esta página web, poniendo el
php_imagick.dll
archivo en PHPext
directorio, y elCORE_RL_*_.dll
archivos en Apachebin
directorio. - Agregue una variable de entorno llamada
MAGICK_HOME
a la máquina, con el valor de[ImageMagick install dir]modulescoders
. - Reinicie apache y verifique
phpinfo( )
.
Si esto no funciona para usted, pruebe diferentes versiones de los binarios de ImageMagick y diferentes versiones de las bibliotecas PECL.