To enable no built-in extensions, you have to install them manually.
Note
I use
scoop
to install some dependencies, you could install it or use another way to install it.
You could install locally these dependencies to have binaries
scoop install imagemagick ghostscript ffmpeg
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/
Choose wisely your version
php_imagick-3.7.0
is imagick version from GitHub8.1
is PHP version, choose a version that match with yours.nts
is for non thread safe, you can choosets
for thread safe if you installed PHP thread safex64
is for 64 bits CPU, choosex86
for 32 bits CPU
Extract archive locally.
- Find
php_imagick.dll
into archive and move it toC:\Users\USERNAME\scoop\apps\php-nts\current\ext
- Locate all other
.dll
files and move it toC:\Users\USERNAME\scoop\apps\php-nts\current
- Add
extension=imagick
toC:\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 | Select-String -Pattern "imagick"
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 toC:\Users\USERNAME\scoop\apps\php-nts\current\ext
- Add
extension=rar
toC:\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 | Select-String -Pattern "rar"
You could install locally this dependency to have binary
scoop install unrar
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 toC:\Users\USERNAME\scoop\apps\php-nts\current\ext
- Add
extension=pcov
toC:\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 | Select-String -Pattern "pcov"
It could be difficult to choose a version of extension, so I will explain how to choose a version.
php -i | find "PHP Version"
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.
php -i | find "Thread Safety"
Thread Safety => disabled
Thread Safety is disabled, so I take the php_imagick-*-nts-*.zip
version (nts
for Non Thread Safe).
You have to install grep
with scoop
php -i | Where-Object { $_ -like "*Architecture*" }
Architecture => x64
Architecture is x64
, so I take the php_imagick-*x64.zip
version.