magento2.x 安装报错

Fatal error: Uncaught Error: Class 'IntlDateFormatter' not found in D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\Factory\AbstractFactory.php:121 Stack trace: #0 D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\Factory\Dynamic\Developer.php(66): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Framewo...', Array) #1 D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\ObjectManager.php(70): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...') #2 D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\Factory\AbstractFactory.php(167): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...') #3 D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\Factory\AbstractFactory.php(273): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Magento\\Framewo...', NULL, 'localeDate', 'Magento\\Framewo...') #4 D:\xampp\htdocs\magento2\vendor\magento\framework\Obje in D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\Factory\AbstractFactory.php on line 121

出现 "Fatal error: Uncaught Error: Class 'IntlDateFormatter' not found" 错误通常是由于 PHP 扩展 intl 没有安装或没有启用所引起的。

要解决这个问题,可以按照以下步骤进行操作:

  1. 检查intl扩展是否已安装和启用。在命令行下输入以下命令:
php -m | grep intl

如果intl扩展没有安装和启用,则需要安装该扩展。首先需要下载对应版本的intl扩展,然后将其安装、启用。

  1. 确认已安装并启用php-intl扩展,若未安装或未开启则进入系统打开命令行工具安装php-intl扩展:
apt-get install -y php-intl
service php7.4-fpm restart
  1. 重启PHP并测试Magento2安装。
service php7.4-fpm restart

通过上述操作,应该可以解决Magento2.x安装时出现 "Fatal error: Uncaught Error: Class 'IntlDateFormatter' not found" 的问题。