Source: https://www.dotkernel.com/php-troubleshooting/where-is-the-intl-php-extension-problem-solved/
When you try to install bagisto and run the command “composer install”. You got the issue “The requested PHP extension ext-intl * is missing from your system“. Here we will discuss “How to resolve intl issue in bagisto?
What is Intl?
Internationalization(Intl) is a design process for a product(application) to make sure that the application accepts various languages without change to the source code of the application.
Maybe you installed an unbundled PHP version, then intl extension is not available there. But if you have the bundled PHP version, the extension might be there but not enabled.
Note:- For this solution, you have root access. If you don’t have root access ask your service provider to install/enable the PHP Intl extension.
Solution for Linux Server
Make sure the php_intl.so file exists within your PHP extensions directory, find the extensions directory by:
- Using phpinfo()
- Running this command:
php -r "echo ini_get('extension_dir');"
- Note: Both options get the extension_dir right from the PHP runtime configuration.
If the file exists:
- Search for the config file (php.ini, usually /etc/php.ini) and open it.
- Make sure the line “extension=php_intl.so” is existing and not commented.
- Restart the webserver (usually sudo service https restart).
- Check if the extension is enabled using phpinfo()
If the file doesn’t exist:
- Check your PHP version by running the “php -v” command.
- For PHP 5 install the php-intl package using your package manager – package managers and commands
- Most common: apt-get install php-intl (for ubuntu-based linux) or yum install php-intl (for CentOS)
- For PHP 7, install the php7.x-intl (depending on your php version)
- Repeat the steps for the case in which the file exists.
Solution For Windows Server:
Make sure the php_intl.dll file exists within your PHP extensions directory
- For separately installed PHP: C:\path\to\php\ext\
- For xampp: C:\path\to\xampp\php\ext
- Note:- your drive letter might be different.
If the file exists:
- Search for the config file (php.ini, usually in the same folder as the php executable) and open it.
- Make sure the line “extension=php_intl.dll” is existing and not commented.
- Restart the web server (usually apache).
- Check if the extension is enabled using phpinfo()
If the file doesn’t exist:
- Check your php version by running the “php -v” command.
- Download the PHP version that corresponds to yours from the PHP Downloads Page (TS/NTS, x86/x64)
- To find thread safety for php, run: php -i | findstr “Thread” , source & more info.
- To find thread safety for php, run: php -i | findstr “Thread” , source & more info.
- Search for the php_intl.dll file in the ext folder in that version and copy it in your php\ext folder.
- Repeat the steps for the case in which the file exists.
That’s all about “How to resolve intl issue in bagisto?”. Hope it will be helpful for you or if you have any issue feel free to raise a ticket at https://bagisto.uvdesk.com/en/