I have a Xampp installation on Windows. When I run apache from the Xampp control panel the service intl
is available when I use the phpinfo()
function.
BUT. When I run the apache via the windows services screen (it’s path: "C:Xamppapachebinhttpd.exe" -k runservice)
Then the intl
extension is not loaded.
Please prevent me from losing even more hair and solve this issue with me.
Update:
Eror in error.log:
PHP Warning: PHP Startup: Unable to load dynamic library 'intl' (tried: \xampp\php\ext\intl (Kan opgegeven module niet vinden), \xampp\php\ext\php_intl.dll (Kan opgegeven module niet vinden)) in Unknown on line 0
2
Answers
For some reason I had to copy a bunch of dll's from the php8 folder into the apache/bin directory. The
ic*71.dll
files.I got the same error when I run
php -m
with uncomment lineextension=intl
in php.ini. My php version is 8.3. Finally I found the solution.From this link I know that intl is a wrapper of icu library.
Then I find icu download page. The latest version is icu74.
Download icu74 release from https://github.com/unicode-org/icu/releases/tag/release-74-1.
Microsoft Visual C++ Redistributable 2022 is a dependency of icu74 and you can download it from here.
Uncompress the icu zip package and add the unziped bin64 directory(eg:C:icu4c-74_1-Win64-MSVC2022bin64) to system variable %PATH%.
Now you can run
icuinfo
to verify that icu installed normally.Run
php -m
, then the error should be gone.