'Apache service won't start after enabling PHP extension Intl

so I need to use Intl extension and as usual I uncommented the line in php.ini file:

extension=intl

Then I try to restart the apache service from the Windows "Services" and a message appears giving me error #1067. If I try to start it from the command line, it seems to be working, even the log files don't report any error, but the service just doesn't start.

The only way I got it running, was launching it directly not as a service from the command line.

I've checked, and the php_intl.dll file is inside the "ext" folder, like all the other extensions that I've enabled so far.

Any ideas? I'm running on Windows 10.



Solution 1:[1]

The php_intl.dll needs to access the ICU dll set.

So look in your PHP folder for 4 files that start icu*.dll and copy those into your Apache\bin folder. Each time you change the version of PHP you are using you need to copy these files from the PHP folders to the Apache\bin folder as they change in different versions of PHP.

Because PHP runs in Apache when the intl dll needs access to these files it will look in the apache\bin folder

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1