扩展就在那里!您需要做的就是清除
php.ini
文件中此行之前的注释(;):
;extension=php_intl.dll
到
extension=php_intl.dll
;extension=intl
到
extension=intl
然后重启 apache2 或者 php-fpm 如果你正在使用它。
如果它不起作用,那么你可能需要在 CLI 版本的 php.ini 中更改它。首先用
php --version
检查你的版本,这样你就可以更改正确的 php.ini 文件,它可能与你的 php fpm 版本不同。
仅安装软件包也可能就足够了,例如对于 PHP 8.2:
sudo apt install php8.2-intl
如果你在 Debian / 其他 Linux 平台上看到这个。
sudo apt-get install php5-intl
- 适用于 PHP 5.6
sudo apt-get install php7.0-intl
- PHP 7+
亚马逊 Linux
sudo yum install php70-intl
之后重新启动 Apache 服务。
sudo service apache2 restart
重新启动 apache 以获取更改。
在wamp或xampp中打开
php.ini
文件并找到以下行,然后删除它开头的注释(;
):
;extension=php_intl.dll
如果你没有找不到行,将它添加到
php.ini
文件中:
extension=php_intl.dll
可能是因为Apache。通过以下命令重新启动 Apache
service httpd restart
再试一次。
如果您在
extension=php_intl.dll
中添加了 php.ini
但它不起作用,您可以将 icu****.dll
文件(大约五个)从 PHP 文件夹复制到 Apache /bin
文件夹,然后重新启动 Apache 并重试。
如果您正在创建要在您不管理的系统上部署的软件包,则可以选择编辑 php.ini。您可以使用 IntlDateFormatter
注意:此解决方案仅在您无法编辑 php.ini 时才有意义(如有必要,请将 ICU 文件复制到 Apache 中)。否则,其中的“进行一些编辑”部分会使整个事情变得比仅仅启用 intl 更复杂。把这个答案放在这里,因为这是最早询问相关错误的问题。
觉得这个有用的人应该给这个答案投赞成票如何在Symfony中使用
IntlDateFormatter
?。这提供了一个重要的缺失步骤。