for Instalación de la extensión ImageMagick con php/windows



descargar imagick php (7)

En http://www.imagemagick.org/download/binaries/ y http://valokuva.org/outside-blog-content/ , hay varios archivos DLL: uno para x64 y otro para x86. Si su Windows XP es de 32 bits, debe probar x86 DLL.

https://ffff65535.com

Ejecutando PHP Versión 5.2.5 en Windows Server 2003 con IIS.

Tener virtualmente un servidor idéntico donde pudimos instalar ImageMagick sin problemas. Se está ejecutando exactamente la misma versión de php. Usó los siguientes pasos para instalar, pero parece que no funcionará en este servidor. ImageMagick está instalado, pero php no cargará la extensión.

Hemos pasado horas tratando de instalar la extensión. Simplemente no aparecerá en phpinfo ().

Instalar los pasos tomados

Para instalar IMagick en Windows XP (PHP 5.2.x)

  1. descargue e instale ImageMagick-6.5.8-7 Q16-windows-dll.exe http://www.imagemagick.org/download/binaries/ImageMagick-6.5.8-7-Q16-windows-dll.exe

  2. descargue php_imagick_dyn-Q16.dll desde http://valokuva.org/outside-blog-content/imagick-windows-builds/080709/

    copie DLL a [PHP] / extension dir y cambie su nombre a php_imagick.dll

  3. Tienes que editar tu archivo php.ini y agregar la nueva extensión:

    extension=php_imagick.dll
  4. Guarde php.ini y reinicie el servidor Apache. (Si es necesario, reinicie Windows)

  5. phpinfo() debería mostrar imagick habilitadas.


En Windows, debe verificar 3 parámetros cuando desee agregar una extensión al servidor php:

  1. La versión del compilador con la que compiló su servidor php (VC9 o VC10) que se indica en phpinfo() .

  2. El número de API de extensión de PHP que se indica en phpinfo() .

  3. El parámetro más importante es si su servidor web es ts (seguro para subprocesos) o nts (no seguro para subprocesos) que se indica en phpinfo() .

Según mi experiencia, IIS es nts por defecto y la extensión php debe compilarse con la biblioteca nts php para que funcione correctamente en su servidor web. Sin embargo, su extensión y su servidor web php deben ser exactamente iguales en estos tres parámetros si desea cargar su extensión correctamente.


Encontré una fuente alternativa. Descarga directa de PECL.

Instalar los pasos tomados

Instalación de ImageMagick

Dónde descargar la última versión de ImageMagic compatible con IIS 8.1 / Windows 2012r2 php x64:

http://windows.php.net/downloads/pecl/deps/

navegue y descargue: ImageMagick-6.8.8-vc9-x86.zip para PHP de 32 bits, 5.4.xx

ImageMagick-6.8.8-vc11-x86.zip para PHP de 32 bits, 5.5.xx

ImageMagick-6.8.8-vc11-x64.zip para PHP de 64 bits, 5.5.xx

Consejos:

  • Sobrescriba los DLL encontrados en la versión de Windows ImageMagick 6.8.8 con la versión de PHP.

  • Debe reiniciar si los archivos están bloqueados en la memoria.

Ubicación de php_imageMagick.dll

http://windows.php.net/downloads/pecl/releases/imagick/

descargar los archivos DLL adecuados.

Obtiene la última versión de ImageMagick DLLs, php_imagemagick.dll (versiones no seguras para subprocesos y versiones seguras para subprocesos).

Propina:

  • Si pierde php5ts.dll, descargó la versión incorrecta de php_imagemagic.dll y descargó otra versión.

  • Si está utilizando IIS, use la versión 'NTS' - php_imagemagick_nts.dll

  • si está utilizando Apache - use la versión 'TS' - php_imagemagick_ts.dll


Encontró muy útil la respuesta dada por el usuario Buttercup, también si pudiera ser más claro.

Mi escenario era un Windows 2012 R2 x64, PHP 5.5.19 x64 y necesito instalar ImageImagick con soporte de PHP. Siguiendo los puntos a continuación, pude instalar ImageImagick 6.9.0 x64 y PHP_Imagick.dll 3.1.2 (ambas son las últimas versiones estables).

Tenga en cuenta que descargué todos los componentes (PHP, ImageImagick y PHP_Imagick) en los modos NTS y ​​x64: no en los modos TS y / o x86. No sé si esto se aplica en su propio caso.

El punto que no me quedó claro al leer el Buttercup (como para el usuario RhoVisions) fue su comentario: "Sobrescriba los DLL encontrados en la versión de Windows de ImageMagick 6.8.8 con la versión de PHP".

Entonces, esto es lo que he hecho (basado en la solución Buttercup, a quien tengo que decir una y otra vez, muchas gracias!): 1) descargue el último instalador de ImageMagick EXE desde http://www.imagemagick.org/script/binary-releases.php#windows En mi caso, descargué el primer archivo disponible como descarga HTTP con la etiqueta "Win64 dynamic a 16 bits por píxel" (nombre de archivo: ImageMagick-6.9.0-0-Q16-x64-dll.exe)

2) Ejecuta el instalador que acabas de descargar. Lo instalé en una ruta simple como C: \ ImageMagick6.9.0 (pero no creo que sea tan importante alejarlo de los Archivos de programa). Además, no cambié ningún otro parámetro de sus valores predeterminados durante la instalación.

3) descargue el último archivo PHP_Imagick DLL del sitio web de PECL en: http://pecl.php.net/package/imagick Elegí una versión estable (no Beta o RC), en mi caso 3.1.2, haciendo clic en el "logotipo de Windows Etiqueta "+" DLL ". En mi caso, estaba vinculado a ht tp: //pecl.php.net/package/imagick/3.1.2/windows. En la página que se abrirá, encontrará una tabla: debe elegir su archivo según: a) la cantidad de versión de PHP que tiene (en mi caso, había archivos DLL disponibles para PHP 5.3, 5.4, 5.5, 5.6) b ) La versión x64 o x86 de PHP tiene c) La versión NTS o TS de PHP que tiene Mi caso es PHP 5.5.x, x64, NTS: así que descargué el etiquetado como "5.5 Non Thread Safe (NTS) x64" (archivo nombre: php_imagick-3.1.2-5.5-nts-vc11-x64.zip)

4) Descomprima el archivo php_imagick ZIP y: a) copie el archivo php_imagick.dll en la carpeta EXT de su instalación de PHP b) copie y reemplace TODO el CORE_RL_ .dll de la carpeta que acaba de descomprimir en la carpeta que seleccionó en el punto # 2. Obviamente, por favor copia de seguridad de los archivos reemplazados. En mi caso, copié 8 archivos CORE_RL_ .dll de la carpeta descomprimida a C: \ ImageMagick6.9.0. Entré en C: \ ImageMagick6.9.0 y los otros CORE_RL _ *. Dll no se sobrescribieron.

5) Edite y guarde su archivo PHP.ini para agregar esta fila simple: extension = php_imagick.dll

6) Reinicie su servidor (desafortunadamente no encontré ninguna buena alternativa de reinicio: también un IISRESET desde el indicador de comando del administrador no funcionó).

7) Cuando finalice el reinicio, visite el archivo phpinfo.php de forma remota mediante el navegador para verificar que el módulo de Imagick estaba bien. En mi caso fue.

Espero que esto pueda ayudar, por ahí!


Esta es una pregunta antigua, pero me he topado con problemas similares con PHP / IIS anteriormente. Un par de cosas que podría sugerir para verificar dos veces:

  • Usa la página phpinfo para ver si estás editando el archivo php.ini correcto, mira el "archivo php.ini cargado" en la primera página (por más estúpido que parezca, ya lo he hecho antes, a veces PHP se verá para ello en su propia carpeta, a veces C: \ Windows)
  • también intente habilitar display_errors en On y error_reporting a E_ALL en php.ini y ver si hay mensajes de error en la parte inferior del archivo phpinfo. Por lo general, al menos reconocerá que no puede cargar su DLL.

No es necesario reiniciar Windows. Debe reiniciar los grupos de aplicaciones que ejecutan el exe de PHP. Esto se puede hacer ya sea reiniciando IIS (esta es la mejor opción para que todos los grupos de aplicaciones se reinicien). O recicle los grupos de aplicaciones que ejecutan PHP.


nada funcionó hasta que configuré los permisos en la carpeta imagick y c: \ windows \ temp (IUSR lee / ejecuta para imagick, lee / escribe / ejecuta para windows \ temp).

* No estoy 100% seguro de que la lectura / escritura / ejecución fuera necesaria para windows \ temp, pero se incluyó en un sitio en algún lugar durante mi navegación por Google *

Bastante seguro de que la parte de reinicio es solo para asegurarse de que la carpeta imagick esté en el directorio de la ruta del sistema y aparezca en phpinfo (), ya estaba en mi ruta, así que no tuve que reiniciar después de configurar los permisos.





windows-server-2003