I recently upgraded a Laravel 7 application to 9 and then upgraded php to version 8.1
The application also uses Laravel Nova and it uses the Currency field extensively. It also uses Symfony\Component\Intl\Currencies;
quite extensively.
On my development machine (macOS) the application works fine.
The application is deployed as a serverless application via Laravel Vapor. When I try to run it, I get the following error
Symfony\Component\Intl\Exception\MissingResourceException: Couldn't read the indices [Names][][0] for the locale "en" in "/var/task/vendor/symfony/intl/Resources/data/currencies". The indices also couldn't be found for the fallback locale(s) "root".
Location
vendor/symfony/intl/Data/Bundle/Reader/BundleEntryReader.php:175 - Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReader::readEntry
Following several hours of research, I have tried adding the following to composer
"ext-intl": "*",
"symfony/intl": "^6.0"
This does not appear to solve the problem and I'm a bit stumped. Does anyone have any ideas, is there something I should be installing globally for this to work correctly? Any advice would be most welcome.
UPDATE
I though to mention, I'm using this docker image: laravelphp/vapor:php81
My Answer:
en_US. This usually indicates that the ICU data is missing or corrupt. Make sure to install the symfony/intl package and the intl PHP extension.
Rate this post
5 of 5 based on 5466 votesComments