So, I've been at it all day and about to give up, but thought posting my question would be a good last chance. I know this is difficult, but not impossible, since I've read the stories from many on the same topic and they all seem to get there eventually.
I'm trying to install Imagick (the PHP DLL for Imagemagick) on Windows Server 2008 R2 64-bit. I am using the thread-safe version of PHP and had the server running perfectly fine before trying the install. Here are the steps I've already taken:
I installed the GPL GhostsScript package (gs905w64.exe) since ImageMagick asked for it to be installed prior to ImageMagick itself. Ok, next...
Downloaded "ImageMagick-6.6.2-10-Q16-windows-x64-dll.exe" and installed it to path C:\imagemagick. According to the internets, this seems to be the version of choice for this server/DLL mix. I tried 4 other installs, including the latest version, and this so far seemed the best fit. After install, the command line steps it says to take with "logo.miff" worked fine. After the install and test, I confirmed that the installation path showed up in my Environment Variables correctly. Great... next.
Downloaded "php_imagick_ts.dll" from here, saved it to my extensions folder (yes, the correct one) and added it to my php.ini file (also the correct one). Since that didn't work, I tried all 3 versions of the thread-safe DLLs on that same download page. None of those worked either, so I tried the non-thread-safe versions as well with no luck. I also tried the php_imagick_dyn-Q16.dll available from here, as well as the static version too. The static version finally worked after everything.
I installed Microsoft Visual C++ 2008 Redistributals (both the main and SP1 versions). This seemed to have no effect on anything.
Final result after all of this: "imagick" shows up in my phpinfo(), but doesn't work and extension_loaded('magickwand') returns false. I'm assuming my installation failed here. Can you let me know what I'm doing wrong?
Related
I found tons of instructions, how to install Imagick on windows. Here is a very good and detaild explanation.
I am following the instructions. So, first, download the latest DLL from PECL. Copy the php_imagick.dll to the extension dir, copy the _CORE* libraries to PHP root directory, and it shows me the following version: ImageMagick 6.9.1-2 Q16 x64 2015-04-14
Wow, great, now I have nothing to do just install this exe.
Oh, wait...
There are no installer like this. And the problems starts here. Of course, I've tried to download and install the latest installer, installed it, set the environment variables, but it always says something about entry points.
I don't know why Imagick guys removes the releases from their ftp, I think this is a very bad behaviour. Can not access from archive too.
So I am unable to installing the Imagick.
Can anybody help me with this version of installer, or give me a step-by-step instruction, how to install this Imagick for Windows 10, 64bit for Apache 2.4.2 64bit, and PHP 5.6.5 64bit?
I tried the 32bit version, but with that, the phpinfo() does not show me anything.
EDIT: There is an alternative download location here.
I started a thread on the Imagick forum, and now I don't know, should I cry or should I laugh...
The answer for my question was this:
Hmm... it seems we don't build our libraries with 'deprecated' methods. I will see if we can change this before the next release so DrawAllocateWand will not suddenly be gone.
I tell to the guy, ok, it's a cool thing, but I've just reinstall my machine from the scratch, so, I got this error:
Procedure entry point (DrawAllocateWand) not found in DLL
or something similar, I translated it.
So, please tell me, where can I download the ImageMagick 6.9.1-2 Q16 x64 2015-04-14 binaries, because it seems, that php_imagick.dll need this, and I should work...
The answer was:
We don't keep an archive of old binary version of ImageMagick. You could however decide to build IM from source.
CONCLUSION
If you ever had a working installer for windows for Apache, PHP, Imagick, you should always keep these in the cloud for yourself. MHO: I really hate these things. I know, most of us is working on linux boxes, but our company policy is to use OS what admin says. So I need to use windows. Now I should suck for a while, to download and install a cygwin with compilers, compile the Imagick somehow, and set all the environments variables, because some developers do not use a version controller, or maybe the sotrage is too expensive for them to store old binaries... I can not imagene these options.
ImageMagick is available here:
http://windows.php.net/downloads/pecl/deps/
Imagick, that has been compiled against that version of ImageMagick is available here
http://windows.php.net/downloads/pecl/releases/imagick/3.4.0rc5/
Downloading random versions of libraries from other places is not guaranteed to work.
I just updated my Wamp Server and got a problem now.
My SQLSRV extension wont get loaded correctly.
I dont know where the problem is exactly because i dont get any errors on startup. Also the error log is clean. There is just a little red triangle instead of a check in the php extension list:
Some Information:
Windows Server 2012 x64
Wamp 2.5 32BIT
PHP5.5
The Warning Icon means one of 2 things :-
Either the extension= line is in your php.ini but the dll it points to is not in your \ext folder
Or the dll exists in the ext folder but not in your php.ini
Which one is it in your case. If you updated WAMPServer the SQLServer dll does not come with any PHP install by default, so you will have to download it from the microsoft site.
hmm, i still cant understand this error. sure i know that i have to download the SQL driver manually. And i know only the "SQLSRV31.EXE" driver is working with Win Server 2K12. I downloaded this one and copied all php5.5 drivers into the /ext folder. Then i copied the name of the dll`s and added them to the php.ini:
http://fs1.directupload.net/images/141206/pkij993j.png
I will tryout installing the older wamp version with php5.4 included. May this will work =)
I also experienced the same thing happened to you. I tried many things but didn't work at all. I installed all the things required for Wamp like Microsoft visual basics 2012 but it still didn't worked.
This is the most important thing, for me this problem happened because i download wamp server 2.5 from the official wamp server site. http://www.wampserver.com/Mk
DON'T DO IT. it's totally a shit. then i download wamp server 2.4(old version) from this site called FIRE HORSE. this is the link http://www.filehorse.com/download-wampserver-32/
I downloaded and installed wamp server 2.4 from this site and it worked perfectly fine. and i also installed the latest Joomla version 3.4.5 in wamp server. Now i'm using it 100% fine. Many thanks for FIRE HORSE site.
I hope you all will find this useful and don't forget to tell me if i'm wrong because i'm still in learning progress i just shared my experience with you all. thank you.
Today I have tried to install imagick in my xampp a hundred times. And I did it. If you have troubles, please try following these steps:
Since xampp is x86, check if your Image Magick (the program) is x86. If not, download the latest version here: imagemagick.org/script/binary-releases.php#windows
Please remember that u MUST download the Win32 dynamic at 16 bits-per-pixel.
Install Image Magick at C:\imagemagick.
Download the latest stable version of imagick here: . You MUST download the 5.x Thread Safe (TS) x86. The x in 5.x is the version of your PHP.
Put the php_imagick.dll in php/ext folder of your xampp installation.
Add this in your php.ini: extension=php_imagick.dll
Here is when I have a lot of trouble. If you try to start the server (or writing php in the console (start->cmd)), you will get an error. If that error says something like this: Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll it means that you're well underway.
Now, you must go into the installation folder of Image Magick and overwrite the DLL you downloaded with the php_imagick.dll. All of them start with the prefix CORE_RL_.
Once you overwrote all of them, you can try writing php in the windows console. I don't say something means that the imagick is functional (you can check in localhost/xampp/ > phpinfo() link. Personally, I had to install a new DLL: vcomp110.dll.
If someone has the same error as me (the system can't found the vcomp11.dd) download it here
Now, if you try executing php on console, or just initializing the apache module of xampp, you should not have errors.
Goodbye and hope I can help someone.
EDIT: when tried to convert some-img.bmp some-result.jpg in the console, I had this error:
convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory # ...
This happened when there is no folder .magick in my-acc. The thing you need to do is this:
Create a folder named .magick in the my-acc folder. Since the name starts with a stop, you need to create it through the console. Here are the commands:
1.1. c:
1.2. cd Users\my-acc
1.3. mkdir .magick
Go to C:\imagemagick\modules\coders and copy the entire files into the latest folder created.
Now, you will be able to use Image Magick through the commands or the PHP Classes.
On background, if you use Codeigniter, i have no idea how to use the image_lib with imagick. So, it's better with the own imagick classes. Here a simple example:
$image = new Imagick($upload_data['full_path']);
$image->thumbnailImage(250,0);
if($image->writeImage($upload_data['file_path'].$upload_data['raw_name'].'_thumb'.$upload_data['file_ext'])){
something here;
}
$image->clear();
This answer might be extremely naive, but, I've found that getting things done in Windows is generally too painful. Many people agree with that and have found solace in a tool known as "chocolatey".
First, install chocolatey on your Windows machine (super easy install instructions):
https://chocolatey.org/
Then, use chocolatey to install everything else that you need (imagemagick in this case):
https://chocolatey.org/packages/imagemagick
I suspect you might have to do some minor tweaking to configuration files after that, plus handle all of the "Windows permissions" needed to get things to work smoothly. Permissions are can be as simple (and not necessarily safe) as "full control" to some user, plus activating inheritance and overwriting all children's settings to use inheritance.
In short, install, configure, permissions, go.
PS. This answer might be incomplete/prototypical/experimental, since I don't run codeigniter, php, imagemagick on Windows.
This how-to of Winderfind is wonderful, but for me it was not yet complete to troubleshoot all problems. First of all, have a look at this tutorial:
http://hrt0kmt.hatenablog.com/entry/2015/05/27/170608
Secondly I discovered that not all versions of ImageMagick will work with all versions of php_imagick.dll. Check out my and others answers on this post for further troubleshooting:
ImageMagick supported formats no value
Great tutorial,
If you are running windows 11, and installing xampp with php 8.1, you need to install 64bit versions:
Win32 dynamic at 16 bits-per-pixel
Becomes
Win64 dynamic at 16 bits-per-pixel
And
5.x Thread Safe (TS) x86
Becomes
8.1 Thread Safe (TS) x64
If you've installed the 32bit versions (as I did), you can just download the 64bit versions and overwrite all the files. Then restart apache and it should start working.
Okay, so far ive been googeling and trying to find a solution for over 6 hours. normally i dont post questions because i feel the answer should be findable, but here goes nothing.
I need to work with PHP code that has implemented the memcache class. I use wampserver 2.2 as 64 bit install, with apache 2.2.2, php 5.4.3 (installed 5.3.13 too, to see if i could fix it in that version) and mysql 5.5.24
i have run the memcache service with both the memcached-win64-1.4.4-14.zip link and the memcached-1.2.6-win32-bin.zip link
I am now at a point where the feedback from wampserver i get is the following when (re)starting the apache module -> mem_cache_module, using the answers from a similar thread on stackoverflow.com/questions/3894065/php-memcache-dll-vc6-x64), in combination with php 5.3.13 64 bit:
PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20100525
These options need to match
This is a lot further than i got with the other options, most (or all) results i can come up with seem to redirect to either a 32 bit dll (which i cant use since my wampserver is 64 bit) or with the wrong php version or api version (compilation date?) .. i do not think i am able to compile my own library to solve this.
I have added *extension=php_memcache.dll* to both php.ini files for both php versions and the dll files have been placed into the correct php/php5.x.x/ext/ folders of the wamp server
my assumption so far is that i need the php_memcache.dll compilated for 64 bit (x64) for php 5.3.13 on the 25th of may, 2010. That or i need to install a php version matching the binairy compiled on the 26th of june, 2009.
Do any of you have a soltion to my specific dillemma? Any help will be greatly appriciated.
I tried all dlls and none worked but suddenly the one given in comment by falcontoast http://www.mediafire.com/?8d3vd26z3fg6bf1 did work.
Will be glad if it works for someone :).
One must check architecture of the phpversion from phpinfo() and must use corresponding dll file. Also the version for memcached service should be of same type.
Try following steps that might work for you. Yes it did work for me when I almost gave up.
1 - Close all memcached services if any already running.
2 - get this service memcached-win64-1.4.4-14(find it) and install it and then start.(the ways to install are already given out there).
3 - get the dll file in comment by falcontoast and put that in extension(ext) folder.
4 - do the changes in php.ini file.
5 - restart the wamp server(probably exit it and then again start it).
If everything is done properly, then the program given here https://commaster.net/content/installing-memcached-windows should work fine.
Basically you need Memcache OR Memcached Library that match your PHP Executable. When I say match I'm not speaking of date but of code. The old PHP won't support new Memcache and vice-versa.
You can try to compile a special one just for your version of PHP (I tried once with other libraries it's not fun). Or you can find a version of PHP that would work with a version of Memcache but this new PHP will also need to work with your version of Apache...
After years of playing with that I just gave up and just used a unix system.
PS: Now that I think about it PHP already come with a correct version of Memcache... So your error may be just that you're using "new Memcached();" instead of "new Memcache();"
Thank you zzarbi!! Freaking finally, I have tried all possible dll's out there and the one you provided finally worked, all others gave Invalid Win32 application.
My setup is Wamp 64 bit with Apache : 2.4.4 MySQL : 5.6.12 PHP : 5.4.12 on Windows 8 64bit
Could anyone be kind enough to point me to a link for the latest version (1.0.3.1) of the PECL extension Upload Progress, compiled as a windows 32 bit DLL?
I've had a look on http://downloads.php.net/pierre/ but it doesn't seem to hold the latest version, I have the one from there and although its installed and running, its not returning data for me.
I know my code is good as I use a linux hosting server, and everything works - I just develop on Windows and its a little bit annoying not to be able to fully test a project without uploading.
Here's a link from anatoliy belsky:
uploadprogress.dlls