Install Imagick for PHP and Apache on Windows

后端 未结 6 963
醉梦人生
醉梦人生 2020-11-27 05:04

Steps I\'ve taken so far:

  1. I have installed Imagick on my Win7 machine, and it\'s installed and running properly via command line.
  2. I\'ve extracted the
6条回答
  •  情深已故
    2020-11-27 05:22

    I have php 5.6 NTS x64 installed on Windows 8.1 pro for my Development System.

    EDIT: This procedure worked with Windows 10 pro as well.

    I was unable to get Imagick Working with PHP using an older release of ImageMagick as in the accepted answer and it was difficult to find mirrors with the exact safe binaries needed (the binaries on the mirror in the accepted answer downloaded as different versions than listed).

    In all of the steps below, be sure to match your PHP architecture (x86/x64 and NTS/TS) to the binary's architecture. If you are using PHP x86 - replace the x64 version of the downloads with the x86 (or 32bit) version. The same applies to Thread-Safe (TS) and Non-Thread-Safe (NTS) versions of PHP.

    1. Navigate to https://pecl.php.net/package/imagick and download the latest DLL (3.3.0RC1) at time of this answer. Imgur
    2. Extract php_imagick.dll to D:\php5.6\ext
    3. Extract all CORE_RL_*.dll files to D:\php5.6 - Ensure D:\php5.6 is also added to the PATH of your system environment variables
    4. Add extension = php_imagick.dll to D:\php5.6\php.ini
    5. Restart Apache/PHP Built-In Web Server
    6. Check PHP Info to ensure the module is installed correctly Imgur Note the highlighted ImageMagick version (ImageMagick 6.9.1-2 Q16 x64) and the missing supported formats
    7. Download and install the matching version of ImageMagick to D:\php5.6\bin from http://www.imagemagick.org/script/binary-releases.php - Ensure that the Add Path to Environment Variables option is checked or manually add it Imgur
      Otherwise download the PECL dependencies for your version of the Imagick PECL extension, see below for more details.
    8. Load a command prompt (run as administrator which forces the system path variable to refresh) and ensure convert --version displays the correct version Imgur
    9. Delete the previously extracted CORE_RL_*.dll files in D:\php5.6 (they will be loaded via ImageMagick path - otherwise your PHP installation may become unstable with the PECL dlls)
    10. Restart Apache/PHP Built-In Web Server
    11. Check PHP Info to ensure module is still installed correctly and is now loading the Imagick supported formats Imgur
    12. Optionally download and install Ghostscript to D:\php5.6\bin to be able to convert PDFs to images from http://sourceforge.net/projects/ghostscript/ be sure to match the architecture for your installation

    I did not need to add MAGICK_HOME for Imagick to work using the PHP Built-In Web Server or CGI, but may be required for Apache using mod_php. See the Special Considerations section below for additional details.


    PECL Imagick Dependencies

    You can alternatively download the required ImageMagick version dependencies and extract the exe and dll files from within the bin directory directly into your D:\php5.6 directory. The dependencies can be found on PECL website http://windows.php.net/downloads/pecl/deps/

    Using the PECL dependencies removes the need to directly download and run the matching ImageMagick version installer from the vendor's website.

    With the PECL dependencies method there were issues with excluded files needed for PDF conversions using GhostScript.


    Special Considerations

    Be sure the user running PHP has permission to execute convert. This should be inherited via D:\php5.6\bin but in case you chose to install to C:\Program Files. you may have issues due to its restricted permissions.

    Be sure to rearrange your PATH System Environment Variable so that %SystemRoot%\system32\convert.exe does not override the D:\php5.6\bin\convert.exe.
    By adding your PHP path to the left of system32, like so: PATH: D:\php5.6\bin;%SystemRoot%\system32;%SystemRoot%;...

    This will force your system to look for executable files within D:\php5.6\bin prior to %SystemRoot%\system32

    Replace D:\php5.6\bin\convert.exe with the path to where you installed ImageMagick or the path to where convert.exe is located

    https://technet.microsoft.com/en-us/library/cc723564.aspx#XSLTsection127121120120

提交回复
热议问题