This bug was a nasty one, but luckily easy to solve.
The needI wanted to enable
php_intl extension in 64-bit XAMPP under Windows 10 64-bit.
The problemThe obvious error in xampp/apache/logs/error.txt was:
- Code: Select all
PHP Warning: PHP Startup: Unable to load dynamic library 'intl' (tried: C:\\xampp\\php\\ext\\intl (The specified module could not be found),
C:\\xampp\\php\\ext\\php_intl.dll (The specified module could not be found)) in Unknown on line 0
DiagnosisAfter searching the web I've found one useful source of information:
https://www.devside.net/wamp-server/unable-to-load-or-find-php-extension-php_intl-dll
There were some examples given involving using
deplister.exe program.
So I opened the Command Prompt, navigated to
C:\xampp\php directory where deplister resides and started asking questions:
- Code: Select all
C:\>cd \xampp\php
C:\xampp\php>set PATH=C:\xampp\php;%PATH%
C:\xampp\php>deplister ext\php_intl.dll
php7ts.dll,OK
icuuc63.dll,OK
icuin63.dll,OK
icuio63.dll,OK
MSVCP140.dll,OK
VCRUNTIME140.dll,OK
api-ms-win-crt-heap-l1-1-0.dll,OK
api-ms-win-crt-environment-l1-1-0.dll,OK
api-ms-win-crt-math-l1-1-0.dll,OK
api-ms-win-crt-runtime-l1-1-0.dll,OK
api-ms-win-crt-locale-l1-1-0.dll,OK
api-ms-win-crt-string-l1-1-0.dll,OK
KERNEL32.dll,OK
C:\xampp\php>deplister php7ts.dll
WS2_32.dll,OK
KERNEL32.dll,OK
ole32.dll,OK
ADVAPI32.dll,OK
DNSAPI.dll,OK
bcrypt.dll,OK
VCRUNTIME140.dll,OK
api-ms-win-crt-runtime-l1-1-0.dll,OK
api-ms-win-crt-heap-l1-1-0.dll,OK
api-ms-win-crt-stdio-l1-1-0.dll,OK
api-ms-win-crt-convert-l1-1-0.dll,OK
api-ms-win-crt-string-l1-1-0.dll,OK
api-ms-win-crt-math-l1-1-0.dll,OK
api-ms-win-crt-environment-l1-1-0.dll,OK
api-ms-win-crt-filesystem-l1-1-0.dll,OK
api-ms-win-crt-time-l1-1-0.dll,OK
api-ms-win-crt-locale-l1-1-0.dll,OK
api-ms-win-crt-utility-l1-1-0.dll,OK
On third shot I've found the possible source of the problem:
- Code: Select all
C:\xampp\php>deplister.exe icuuc63.dll
icudt63.dll,NOTFOUND
KERNEL32.dll,OK
ADVAPI32.dll,OK
VCRUNTIME140.dll,OK
api-ms-win-crt-string-l1-1-0.dll,OK
api-ms-win-crt-time-l1-1-0.dll,OK
api-ms-win-crt-convert-l1-1-0.dll,OK
api-ms-win-crt-environment-l1-1-0.dll,OK
api-ms-win-crt-math-l1-1-0.dll,OK
api-ms-win-crt-stdio-l1-1-0.dll,OK
api-ms-win-crt-heap-l1-1-0.dll,OK
api-ms-win-crt-utility-l1-1-0.dll,OK
api-ms-win-crt-runtime-l1-1-0.dll,OK
Well, hello there! What is this
icudt63.dll,NOTFOUND all about???
The solutionSimple Google search for "xampp icudt63.dll" led me to:
https://fossies.org/windows/www/xampp-win32-7.2.15-0-VC15.zip/index_st.html
And there was this missing
icudt63.dll library listed:
- Code: Select all
Archive: xampp-win32-7.2.15-0-VC15.zip
Length Date Time Name
--------- ---------- ----- ----
27182592 2019-02-05 23:46 xampp/php/icudt63.dll
27182592 2019-02-05 23:46 xampp/apache/bin/icudt63.dll
...
But this listing was for XAMPP 32-bit (sic!)
Anyway, I downloaded the 32-bit XAMPP zipped file:
xampp-win32-7.2.15-0-VC15.zipAnd indeed it contained the icudt63.dll library files inside.
I copied the extracted
icudt63.dll file to
C:\xampp\php\ and
C:\xampp\apache\bin\ directories, respectively.
Everything worked!
BUGI would like to report that
XAMPP 64-bit installer, .zip, .7z and portable version all are MISSING following files:
- xampp/php/icudt63.dll
- xampp/apache/bin/icudt63.dll
These files however, are present in all
XAMPP 32-bit installer, .zip, .7z and portable files.