Warning on PHP Startup: Unable to load dynamic library "php_intl.dll"
First of all,
Thanks for the awesomeness that you've done for Laragon.
I'm a new laragon user, migrating from xampp expecting easier php-mysql switching from project to project in my local development on windows 10
I was trying to play around to add multiple php version.
I need to have php 5.6.* in which I successfully installed from here https://windows.php.net/download/
I used this setup
Laragon: full 3.3.3
Apache: httpd-2.4.34-win64-VC11 as downloaded from https://www.apachelounge.com/download/VC11/
I did all my setup successfully until I notice this warning on cmder every time I use php command
Warning: PHP Startup: Unable to load dynamic library 'C:/laragon/bin/php/php-5.6.37-nts-Win32-VC11-x64/ext\php_intl.dll' - The specified module could not be found.
in Unknown on line 0
These are few solutions:
- add path on windows system env path (failed)
- use absolute path using windows pattern with backslash on php.ini extension (failed)
- rebuild php from src to get the functional .dll (too much of resource, I dont have visual studio)
- test using php 5.6.37 TS version (failed)
- test using php 5.6.37 x86 version (not yet)
Not sure what happened.
- php_intl.dll is corrupted or broken
- path problem during compile time
Anyone have encountered the same issue? or maybe can share another solutions?
I noticed that every time I reload Apache, the php.ini extension_dir somehow being reverted to initial value. And one time I encountered that the date timezone also being reverted to blank.
php 7 was fine, not showing the same Warning.
Just to be clear (because I don't see that it is stated), did you check for the existance of php_intl.dll?
If it was a path issue, that would impact all of your extensions.
Edit: I am using php-5.6.33-Win32-VC11-x86 with that extension enabled.
Thanks for mentioning!
That was the first test actually, to check the existence of the file.
The file ext/php_intl.dll is there, hence I mentioned possibly it was broken or corrupted.
No Problem. I don't believe it's a corrupted file issue if you downloaded it directly from PHP.
So one thing I am noticing is that you are running PHP Win32 and Apache Win64. I believe that you should be running both Win32 or Win64.
My setup is as follows with no issue:
Are you sure you need the php nts? If you don't need it, I would suggest mimicking my setup (since they are so close), verify that it works and then upgrade php to 5.6.37.
In the download link that I mentioned above, I can only find php-5.6.37, could not find php-5.6.33
This will be my last test also to resort all to win32 for both php and apache.
nts or ts I think not much of a problem since it is for local development.
Thanks for your suggestion. Anyway, can you share where I can download the same php version as you mentioned ?
Here is where the php archives are stored
I tried also using your recommended setup also failed.
still the same error.
do you have any recommendation on this ?
The only thing I can do so far is to turn off php_intl.dll extension to ignore the warning.
That's really weird. What OS?
Windows 10 home single language
64-bit operating system, x64 based processor
last test that I did is to load the extension via httpd.conf using "LoadFile" to point the extension directly, and disabled it on php.ini and still failed with the same message.
but to be honest,
this is not a blocker or anything. PHP still functioning properly on browser and able to execute composer and other php command.
its just that every time I put the php command via cmder, the warning shows up first.
@mdennisa : I can not reproduce your issue. It is so strange. I guess there might be a collision in dynamic library between your previous XAMP and Laragon.
I finally found out the solution for this.
One thing that forgot to mention is that during switching to use php 5.6.*, there was this error in laragon app saying that msvcr110.dll missing or something related to apache and php for VC 11.
Since I was too excited with Laragon, I simply download some msvcr110.dll from some site and put it into System32 dir without verifying the file itself.
So my other suspect is that the msvcr110.dll was the issue.
so I have to install properly the msvcr110.dll from microsoft release from the link below
To make sure everything alright, I also run this command via cmd
After that I restarted laragon with php 5.6.37 and the error gone.
I hope this can be a good reference for other laragon user as well.
@mdennisa : I'm glad you solved your issue. Also, many thanks for your information. It will be a good reference for other Laragon users.