Running ImageMagick on XAMPP 1.8.3 with Windows 7
OK. I finally found a combination that works. After MUCH trial and error, I was finally able to get the below combination to work on my machine. Hopefully it works for anyone else who might be struggling with this.
- OS: Windows 7 64 Bit
- PHP: 5.5.6
- XAMPP: 1.8.3
- Compiler: MSVC11
- Architecture: x86
- ImageMagick: ImageMagick-6.7.7-5-Q16-windows-dll (available here)
- Imagick DLL: PHP5.5.x version from http://www.peewit.fr/imagick/
Note: Once I tried this, Apache started without any error messages. I did not have to restart my computer (just restarted Apache). I do have ImageMagick installed in a directory that has no spaces in the name (as some have suggested that might be a problem with some installs). In my case, I installed it to c:\xampp\imagemagick.
Best of luck to you!
How to get ImageMagick running with XAMPP on Win7?
I found the answer to basically the same question (and same tech spec). I simply had to download an older version of ImageMagick (ImageMagick-6.7.7-5-Q16-windows-dll
).
(By following the linked answer above you can find a link to that version of ImageMagick and a working php_imagick.dll
.)
Imagick on Windows 8 xampp
I have solved the problem only by installing latest xampp version (XAMPP Version 1.8.3) and continued the method: Running ImageMagick on XAMPP 1.8.3 with Windows 7
Install details copied:
- ImageMagick: ImageMagick-6.7.7-5-Q16-windows-dll (available here)
- Imagick DLL: PHP 5.5.x version from http://www.peewit.fr/imagick/
How to install ImageMagick to use with PHP on Windows 7 (3)
Instead of using the latest version I tried downloading ImageMagick-6.7.7-5-Q16-windows-dll from here. That one actually worked with the php_imagick.dll (Imagick for PHP 5.5.x) from http://www.peewit.fr/imagick/.
This is not the latest version but it worked. (even without restarting the computer)
Install Imagick for PHP and Apache on Windows
EDIT: This procedure works with Windows 7 - 10 and all versions of PHP as well.
Unofficial sites may be discontinued or later be altered to contain malicious code instead. Please use caution when using any recommended links or mirrors other than the official ImageMagick, PECL, or PHP sites provided in comments or other answers.
I was unable to get Imagick Working with PHP using an older release of ImageMagick as in the originally accepted answer and it was difficult to find mirrors with the exact safe binaries needed (the binaries on the mirror in the originally 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.
PHP Imagick Extension
- Navigate to https://pecl.php.net/package/imagick
and download the latest DLL(3.3.0RC1)
at time of this answer. - Extract
php_imagick.dll
toD:\php5.6\ext
- Extract all
CORE_RL_*.dll
files toD:\php5.6
- - Ensure
D:\php5.6
is already added to thePATH
of your system environment variables - Add
extension = php_imagick.dll
toD:\php5.6\php.ini
- Restart Apache, PHP-FPM, or PHP Built-In Web Server
- Check
phpinfo();
to ensure the module is installed correctly Note the highlighted ImageMagick version(ImageMagick 6.9.1-2 Q16 x64)
and the missing supported formats
ImageMagick Binary
- (1a) Download and install the matching version of ImageMagick to
D:\php5.6\bin
from https://www.imagemagick.org/script/download.php - Ensure that theAdd Path to Environment Variables
option is checked or manually add it - (1b) Alternatively download the PECL dependencies for your version of the Imagick PECL extension, see below for more details.
- Load a command prompt (run as administrator which forces the system path variable to refresh) and ensure
convert --version
displays the correct version - Delete the previously extracted
CORE_RL_*.dll
files inD:\php5.6
(they will be loaded via ImageMagick path - otherwise your PHP installation may become unstable with the PECL dlls) - Restart Apache, PHP-FPM, or PHP Built-In Web Server
- Check
phpinfo();
to ensure the module is still installed correctly and is now loading the Imagick supported formats
Imagick PDF as Image Support - Ghostscript (optional)
- 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 (1b)
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
Related Topics
Send Checkbox Value in PHP Form
Utf8_(En|De)Code Removed from PHP7
Object of Class Stdclass Could Not Be Converted to String
How to Make a Catch-All Route in Laravel
Phpmysql Error - #1273 - #1273 - Unknown Collation: 'Utf8Mb4_General_Ci'
MySQL Stored Procedure VS. Complex Query
PHP - Flushing While Loop Data with Ajax
Premature End of Script Headers: Index.Php, Mod_Fcgid: Read Data Timeout in 61 Seconds
Why I am Getting Error When Getting Booking from Database
Regular Expression and Forward Slash
Dynamic Comparison Operators in PHP
Make Curl Output Stderr to File (Or String)
Walk Array Recursively and Print the Path of the Walk
Mailgun Sent Mail with Attachment
PHP Auto-Kill a Script If the Http Request Is Cancelled/Closed