Imagick / imagick

🌈 The Imagick PHP extension 🌈
http://pecl.php.net/imagick
Other
548 stars 138 forks source link

VC16 build for windows pecl #573

Open N6REJ opened 1 year ago

N6REJ commented 1 year ago

I'm looking for an updated build for https://windows.php.net/downloads/pecl/deps/ImageMagick-7.1.0-18-vc15-x86.zip that uses vc16 & x64. Where can I find such a thing or create one?

N6REJ commented 1 year ago

@adamperrry using http://bearsampp.com I don't have that problem.

image
N6REJ commented 1 year ago

as this appears to be the current windows php 8.2 thread... I running php 8.2.4 on win 10 (xampp) and doing this as suggested by @fmonts: in ext/, put the .dll for 8.2 in bin/ (or whatever folder you added to windows Path), put the binaries for 8.1 then php --ri imagick shows imagick module enabled and 263 supported formats. But the xampp apache service says php_imagick.dll is not found. It is there and I've tried locating it from php.ini in a number of ways. can someone confirm if they have got this running on windows with php 8.2.4 with Apache 2.4.56? thanks

EDIT: I translated the comment from @Nomad862 above and so also copied the 8.1 CORE_.........dll" and the "IMMOD........dll" files into the XAMPP/Apache/bin folder. They are also in ..xampp/php/ Imagick now appears to work with apache / php 8.2.4 / win 10. i'm not sure if my installation was somehow broken or some other problem, but problem appears solved

I can confirm 8.2 doesn't work properly

> php --ri imagick
PHP Warning:  PHP Startup: imagick: Unable to initialize module
Module compiled with module API=20210902
PHP    compiled with module API=20220829
These options need to match
 in Unknown on line 0

Warning: PHP Startup: imagick: Unable to initialize module
Module compiled with module API=20210902
PHP    compiled with module API=20220829
These options need to match
 in Unknown on line 0
Extension 'imagick' not present.
ArthurPatriot commented 1 year ago

@ArthurPatriot using http://bearsampp.com I don't have that problem. image

Issue with 8.2

Asmitta-01 commented 1 year ago

Is there an update for this package coming for php 8.2 ? πŸ˜”

ArthurPatriot commented 1 year ago

Is there an update for this package coming for php 8.2 ? πŸ˜”

https://github.com/Imagick/imagick/issues/573#issuecomment-1431773928 i am already build )

N6REJ commented 1 year ago

ImageMagick-7.1.0-62-Q16-HDRI-x64

we have to use https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-15-portable-Q16-x64.zip, as far as i know, in https://github.com/Bearsampp/Bearsampp due to it being 100% portable? by doing so it doesn't work. We use ant to create the php module so I'm not sure what exactly happens when its run. Here's our 8.2.8 module https://github.com/Bearsampp/module-php/tree/main/bin/php8.2.8

Duber79 commented 1 year ago

Success BUILD for Windows! Test on your own risk. Left messages here if it works.

PHP 8.2.3 x64 TS + NTS

ext-imagick-php8.2-ts-x64.zip ext-imagick-php8.2-nts-x64.zip

Hello. Please rebuild the dll extension using the version ImageMagick-7.1.1-15-Q16-HDRI-x64-dll and for PHP 8.2.9

N6REJ commented 1 year ago

we're getting a bug when using ... what is the proper build for 8.2.x and is there a repo we can follow for the latest builds? This is getting huge and hard to follow.

image
Geckosan commented 1 year ago

Hi, I've done a recent imagick build for php 8.2 windows x64 after I had issues getting the previous build posted here from working (0 supported file types, mismatched versions etc), I'm attaching here in case its useful to anybody. Obviously, use at your own risk.

Built using PHP 8.2.11 vs16 x64, ImageMagick 7.1.1-19 Q16-HDRI vs16 x64 (Dynamic Multi-threaded DLL version), and imagick 3.7.0.

I've set the module version to 3.7.0 (which looking at the source I'm probably not supposed to do) so stuff that checks the version should be ok.

Both TS and NTS versions are included (just copy the right version of the dll to your php/ext folder and rename it to php_imagick.dll). Add the unzipped folder to your windows system path and you should be good to go.

Edit dropped ImageMagick version to 7.1.1-19 instead of the beta version. imagick-php8211-phpinfo php_imagick_3.7.0-php_8.2-vs16-x64.zip

N6REJ commented 1 year ago

Can we get a repo of our own? Would be great to be able to use the release features instead of going thru chat

ArthurPatriot commented 1 year ago

Can we get a repo of our own? Would be great to be able to use the release features instead of going thru chat

I could make a service that automatically builds new versions of extensions for php, but I'm too lazy to do itπŸ˜…

N6REJ commented 1 year ago

you'd have a very grateful bear if you did! we use it in our development server we offer @ http://bearsampp.com

ArthurPatriot commented 1 year ago

you'd have a very grateful bear if you did! we use it in our development server we offer @ http://bearsampp.com

I will think about it and maybe start work in this direction

zavolo commented 11 months ago

Hi, I've done a recent imagick build for php 8.2 windows x64 after I had issues getting the previous build posted here from working (0 supported file types, mismatched versions etc), I'm attaching here in case its useful to anybody. Obviously, use at your own risk.

Built using PHP 8.2.11 vs16 x64, ImageMagick 7.1.1-19 Q16-HDRI vs16 x64 (Dynamic Multi-threaded DLL version), and imagick 3.7.0.

I've set the module version to 3.7.0 (which looking at the source I'm probably not supposed to do) so stuff that checks the version should be ok.

Both TS and NTS versions are included (just copy the right version of the dll to your php/ext folder and rename it to php_imagick.dll). Add the unzipped folder to your windows system path and you should be good to go.

Edit dropped ImageMagick version to 7.1.1-19 instead of the beta version. imagick-php8211-phpinfo php_imagick_3.7.0-php_8.2-vs16-x64.zip

Can you build imagick for PHP 8.2.12 NTS?

Geckosan commented 11 months ago

Can you build imagick for PHP 8.2.12 NTS?

The extension compiled for PHP 8.2.11 should work with any 8.2.* release.

mudcamper commented 11 months ago

Thank you Geckosan! It works for me.

zhoumann commented 11 months ago

Thank you so much for this Geckosan! Will you be compiling one for PHP 8.3, as it's officially released now?

Geckosan commented 11 months ago

Thank you so much for this Geckosan! Will you be compiling one for PHP 8.3, as it's officially released now?

I'll take a look next week

Geckosan commented 11 months ago

Provisional build for windows PHP 8.3. Both TS & NTS versions are included in the zip. I'm not in a position check this right now, so please test thoroughly before use.

Unzip to a location of your choice. Add the unzipped directory to your windows system path (make sure it comes before any previously installed versions of ImageMagick). Copy either php_imagick_ts.dll or php_imagick_nts.dll (depending on your PHP version) to your php/ext directory and rename to php_imagick.dll. Enable the extension in php.ini and run phpinfo to check it's working. php_imagick_3.7.0-php_8.3-vs16-x64.zip

zhoumann commented 11 months ago

Provisional build for windows PHP 8.3. Both TS & NTS versions are included in the zip. I'm not in a position check this right now, so please test thoroughly before use.

Unzip to a location of your choice. Add the unzipped directory to your windows system path (make sure it comes before any previously installed versions of ImageMagick). Copy either php_imagick_ts.dll or php_imagick_nts.dll (depending on your PHP version) to your php/ext directory and rename to php_imagick.dll. Enable the extension in php.ini and run phpinfo to check it's working. php_imagick_3.7.0-php_8.3-vs16-x64.zip

Thank you so much Geckosan, I've installed it on my Windows machine and it works perfectly! (I've only tested the thread-safe version)

Web capture_27-11-2023_125429_localhost

Duber79 commented 11 months ago

Please upload the installer ImageMagick-7.1.1-19-Q16-HDRI-x64-dll.exe, otherwise it won't download from the official website.

danielscsc commented 11 months ago

Can you build imagick for PHP 8.2.12 NTS?

The extension compiled for PHP 8.2.11 should work with any 8.2.* release.

@Geckosan Thank you very much, this works! Only thing I noticed - when running php -v I get:

PHP Warning:  Version warning: Imagick was compiled against ImageMagick version 1809 but version 1808 is loaded. Imagick will run but may behave surprisingly in Unknown on line 0

Warning: Version warning: Imagick was compiled against ImageMagick version 1809 but version 1808 is loaded. Imagick will run but may behave surprisingly in Unknown on line 0
PHP 8.2.12 (cli) (built: Oct 24 2023 21:15:15) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies

EDIT:

Turns out I just had to uninstall the ImageMagick I had installed locally on my machine. Once I did that, no more warning messages in php -v.

bally86 commented 10 months ago

Where can I find the ImageMagick 7.1.1-19 Q16-HDRI x64 installer?

danielscsc commented 10 months ago

Where can I find the ImageMagick 7.1.1-19 Q16-HDRI x64 installer?

I'm not sure you need that exact version, but if you do: https://imagemagick.org/archive/binaries/

bally86 commented 10 months ago

Where can I find the ImageMagick 7.1.1-19 Q16-HDRI x64 installer?

I'm not sure you need that exact version, but if you do: https://imagemagick.org/archive/binaries/

I only see 7.1.1-25 there. Can I just use that one?

danielscsc commented 10 months ago

Where can I find the ImageMagick 7.1.1-19 Q16-HDRI x64 installer?

I'm not sure you need that exact version, but if you do: https://imagemagick.org/archive/binaries/

I only see 7.1.1-25 there. Can I just use that one?

I would think so. Can't hurt to try :) Let us know!

bally86 commented 10 months ago

Where can I find the ImageMagick 7.1.1-19 Q16-HDRI x64 installer?

I'm not sure you need that exact version, but if you do: https://imagemagick.org/archive/binaries/

I only see 7.1.1-25 there. Can I just use that one?

I would think so. Can't hurt to try :) Let us know!

7.1.1-25 seems to work fine!

nandamrbn commented 9 months ago

Thanks Working for me(PHP 8.2.12)

Duber79 commented 9 months ago

It didn't work for me, PHP 8.2.9 (NTS). Error loading the extension(

joakim-tldr commented 9 months ago

Hi, I've done a recent imagick build for php 8.2 windows x64 after I had issues getting the previous build posted here from working (0 supported file types, mismatched versions etc), I'm attaching here in case its useful to anybody. Obviously, use at your own risk.

Built using PHP 8.2.11 vs16 x64, ImageMagick 7.1.1-19 Q16-HDRI vs16 x64 (Dynamic Multi-threaded DLL version), and imagick 3.7.0.

I've set the module version to 3.7.0 (which looking at the source I'm probably not supposed to do) so stuff that checks the version should be ok.

Both TS and NTS versions are included (just copy the right version of the dll to your php/ext folder and rename it to php_imagick.dll). Add the unzipped folder to your windows system path and you should be good to go.

Edit dropped ImageMagick version to 7.1.1-19 instead of the beta version. imagick-php8211-phpinfo php_imagick_3.7.0-php_8.2-vs16-x64.zip

Thank you! Can confirm php_imagick_ts work for any PHP 8.2.* with ImageMagick 7.1.1-19 Q16-HDRI vs16 x64 (Dynamic Multi-threaded DLL version), and imagick 3.7.0, added it to several machines.

christoferd commented 8 months ago

Is there a dll for imagick for PHP 8.24 VS16 x64 TS? Or, any of the later PHP 8 releases?

lija0905 commented 7 months ago

Bless this thread. I've lost so many hours on this installation. Only information from here helped me!!!!

ayuniptrii2 commented 7 months ago

Success BUILD for Windows! Test on your own risk. Left messages here if it works.

PHP 8.2.3 x64 TS + NTS

ext-imagick-php8.2-ts-x64.zip ext-imagick-php8.2-nts-x64.zip

It works. thanks. i've searched the pecl web but it's still up to php 8.1

ben-norton commented 7 months ago

PHP 8.3 version?

johnzoet commented 7 months ago

Success BUILD for Windows! Test on your own risk. Left messages here if it works.

PHP 8.2.3 x64 TS + NTS

ext-imagick-php8.2-ts-x64.zip ext-imagick-php8.2-nts-x64.zip

Working for me. Installed ImageMagick DLL with higher version. Tested and working. Further, I copied all DLL files from imagick zip file to a folder and added that folder to the system environment path. One caveat I encountered is that phpinfo.php did not have ImageMagick on the system path. Restarting Xampp solved this problem.

N6REJ commented 7 months ago

I'd like to offer to make a repo where y'all can contribute and we can actually have releases. I think it would be good to have imagemagick and imagick both under one repo so we can keep things up to date and easy to find. I'd like y'alls feedback on this. We're posting releases in this thread but not under releases which makes them hard to find.

Rentner2 commented 7 months ago

I think it's a good idea. Go on!

ArthurPatriot commented 7 months ago

I'd like to offer to make a repo where y'all can contribute and we can actually have releases. I think it would be good to have imagemagick and imagick both under one repo so we can keep things up to date and easy to find. I'd like y'alls feedback on this. We're posting releases in this thread but not under releases which makes them hard to find.

PECL windows builder is broken. So you will get same story for all extensions.

I am planning to write simple service which build required extension for requested php version... On same way as pecl. What you think guys?)

N6REJ commented 7 months ago

I'd like to offer to make a repo where y'all can contribute and we can actually have releases. I think it would be good to have imagemagick and imagick both under one repo so we can keep things up to date and easy to find. I'd like y'alls feedback on this. We're posting releases in this thread but not under releases which makes them hard to find.

PECL windows builder is broken. So you will get same story for all extensions.

I am planning to write simple service which build required extension for requested php version... On same way as pecl. What you think guys?)

PLEASE DO!!!

ArthurPatriot commented 7 months ago

@N6REJ Look like already done - https://phpext.phptools.online/extension/images/imagick-121

ArthurPatriot commented 7 months ago

PHP 8.3 version?

https://phpext.phptools.online/extension/images/imagick-121

ArthurPatriot commented 7 months ago

Is there a dll for imagick for PHP 8.24 VS16 x64 TS? Or, any of the later PHP 8 releases?

https://phpext.phptools.online/extension/images/imagick-121

CopaceticMeatbag commented 6 months ago

Provisional build for windows PHP 8.3. Both TS & NTS versions are included in the zip. I'm not in a position check this right now, so please test thoroughly before use.

Unzip to a location of your choice. Add the unzipped directory to your windows system path (make sure it comes before any previously installed versions of ImageMagick). Copy either php_imagick_ts.dll or php_imagick_nts.dll (depending on your PHP version) to your php/ext directory and rename to php_imagick.dll. Enable the extension in php.ini and run phpinfo to check it's working. php_imagick_3.7.0-php_8.3-vs16-x64.zip

Confirmed this worked without any issues using the latest "7.1.1-32 Q16-HDRI vs16 x64" installer and PHP 8.3.6. Many thanks!!

fmonts commented 4 months ago

The official PECLs for 8.2 and 8.3 are now released

https://mlocati.github.io/articles/php-windows-imagick.html

The issue can be considered closed

numen111104 commented 3 months ago

Provisional build for windows PHP 8.3. Both TS & NTS versions are included in the zip. I'm not in a position check this right now, so please test thoroughly before use.

Unzip to a location of your choice. Add the unzipped directory to your windows system path (make sure it comes before any previously installed versions of ImageMagick). Copy either php_imagick_ts.dll or php_imagick_nts.dll (depending on your PHP version) to your php/ext directory and rename to php_imagick.dll. Enable the extension in php.ini and run phpinfo to check it's working. php_imagick_3.7.0-php_8.3-vs16-x64.zip

THANKSS SO MUCCH IT'S WORK TO MEEE