编辑php.ini后Magento 2.4.5安装失败,伴XAMPP启动报错求助
解决方案:Magento 2.4.5安装时ext-intl缺失及sodium.dll入口点错误修复
一、先修复php_sodium.dll入口点错误
Windows 8.1不支持libsodium部分新特性(如ristretto255相关函数),而XAMPP 8.1.x版本的php_sodium.dll依赖较新的libsodium版本,和Win8.1不兼容导致启动报错。
解决步骤:
- 找到XAMPP安装目录下的
php\ext\php_sodium.dll,重命名为php_sodium.dll.bak(临时禁用该扩展) - 打开
php.ini,给extension=sodium重新添加注释(即改为;extension=sodium),保存后重启XAMPP - 验证:启动XAMPP的Apache,确认不再弹出入口点错误提示
二、解决ext-intl扩展缺失问题
即便已取消php.ini注释,仍可能因以下原因导致扩展未加载:
- 确认修改的是正确的php.ini文件
- 打开命令行执行
php --ini,查看Loaded Configuration File对应的路径,确保你修改的是Apache实际加载的该路径下的php.ini(XAMPP可能存在多个php.ini副本,比如apache/bin目录和php目录下各有一个)
- 打开命令行执行
- 检查intl扩展依赖文件
- 确认
php\ext\php_intl.dll存在且未损坏 - 检查
php目录下的icu*.dll系列文件(如icuuc72.dll、icuin72.dll等)是否齐全,这些是intl扩展依赖的ICU库,缺失会导致扩展加载失败
- 确认
- 验证扩展加载状态
- 执行
php -m,查看输出列表中是否包含intl、gd、soap等你启用的扩展 - 如果未找到,查看Apache错误日志(XAMPP控制面板中点击Apache的Logs按钮),定位具体加载失败原因
- 执行
- 调整系统环境变量(可选)
- 将XAMPP的
php目录添加到系统环境变量的Path中,确保PHP能找到依赖的DLL文件 - 添加后重启命令行和XAMPP,再次执行
php -m验证
- 将XAMPP的
三、重新执行Magento安装命令
确认所有必需扩展加载正常后,重新运行安装命令:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition
内容的提问来源于stack exchange,提问作者HamzaWe
相关产品推荐
相关产品推荐

