PHP Extensions

To enable no built-in extensions, you have to install them manually.

imagick

Download binary from https://windows.php.net/downloads/pecl/releases/imagick/

Example with for PHP 8.1 and Imagick v3.7.0, I choose php_imagick-3.7.0-8.1-nts-vs16-x64.zip from https://windows.php.net/downloads/pecl/releases/imagick/3.7.0/

  • Extract archive locally.
  • Find php_imagick.dll into archive and move it to C:\Users\USERNAME\scoop\apps\php-nts\current\ext
  • Locate all other .dll files and move it to C:\Users\USERNAME\scoop\apps\php-nts\current
  • Add extension=imagick to C:\Users\USERNAME\scoop\apps\php8.1-nts\current\php.ini at the top of the file

Check if imagick works (with grep from scoop)

php -m | grep imagick

rar

Download binary from https://windows.php.net/downloads/pecl/releases/rar/

Example with for PHP 8.1 and RAR v4.2.0, I choose php_rar-4.2.0-8.1-nts-vs16-x64.zip from https://windows.php.net/downloads/pecl/releases/rar/4.2.0/

  • Extract archive locally.
  • Find php_rar.dll into archive and move it to C:\Users\USERNAME\scoop\apps\php-nts\current\ext
  • Add extension=rar to C:\Users\USERNAME\scoop\apps\php8.1-nts\current\php.ini at the top of the file

Check if rar works (with grep from scoop)

php -m | grep rar

pcov

Download binary from https://windows.php.net/downloads/pecl/releases/pcov/

Example with for PHP 8.1 and PCOV v1.0.11, I choose php_pcov-1.0.11-8.1-nts-vs16-x64.zip from https://windows.php.net/downloads/pecl/releases/pcov/1.0.11/

  • Extract archive locally.
  • Find php_pcov.dll into archive and move it to C:\Users\USERNAME\scoop\apps\php-nts\current\ext
  • Add extension=pcov to C:\Users\USERNAME\scoop\apps\php8.1-nts\current\php.ini at the top of the file

Check if pcov works (with grep from scoop)

php -m | grep pcov

How to choose a version?

I could be difficult to choose a version of extension, so I will explain how to choose a version.

PHP Version

php -i | find "PHP Version"
output
PHP Version => 8.1.17

PHP version is PHP 8.1, so I take the php_imagick-*-8.1-*.zip version.

Note
If you don't find your PHP version in all versions, your PHP version could be too recent, you have to wait before imagick release for your PHP version.

Thread Safety

php -i | find "Thread Safety"
output
Thread Safety => disabled

Thread Safety is disabled, so I take the php_imagick-*-nts-*.zip version (nts for Non Thread Safe).

Architecture

You have to install grep with scoop

php -i | grep "Architecture"
output
Architecture => x64

Architecture is x64, so I take the php_imagick-*x64.zip version.