首先确认PHP的intl扩展未安装或未启用,通过命令php -m | grep intl检查;若无输出则需根据操作系统安装:Ubuntu/Debian执行sudo apt-get install php8.1-intl,CentOS/RHEL用sudo dnf install php-intl,macOS用brew install php@8.1-intl,Windows在php.ini中取消;extension=intl的注释;然后重启Web服务器或PHP-FPM;验证扩展是否启用成功,再运行Composer命令。若无法安装扩展,可使用composer require symfony/polyfill-intl-normalizer和symfony/polyfill-intl-idn作为替代方案;注意确保CLI与Web环境均启用intl,避免不一致问题。

这个错误是因为 PHP 的 intl 扩展没有安装或未启用。Composer 依赖的某些包(比如 symfony/polyfill-intl-normalizer、laravel 框架组件等)需要 intl 扩展来支持国际化功能,例如字符编码处理、区域设置等。
php -m | grep intl
Linux(Ubuntu/Debian)
安装 php-intl 包:sudo apt-get install php-intl
sudo apt-get install php8.1-intl
sudo systemctl restart apache2
sudo systemctl restart php8.1-fpm(如使用 FPM)
Linux(CentOS/RHEL/AlmaLinux)
使用 yum 或 dnf 安装:sudo yum install php-intl
sudo dnf install php-intl(较新版本)
macOS(使用 Homebrew)
如果你通过 brew 安装了 PHP:brew install php@8.1-intl
Windows
打开 php.ini 文件(通常位于 PHP 安装目录),找到这一行:;extension=intl
extension=intl
php -m | grep intl
intl。然后重新执行 composer 命令,错误应消失。
composer require symfony/polyfill-intl-normalizer
composer require symfony/polyfill-intl-idn
基本上就这些。确保 PHP CLI 和 Web 运行环境都启用了 intl 扩展,避免出现“CLI 正常但网页报错”的情况。
以上就是composer提示“requires ext-intl *”的错误如何解决?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号