国际 PHP 扩展不适用于 xampp 服务器

intl PHP extension is not working for xampp server

我正在尝试安装 CakePHP 3-0-0 版本并且我已经从 here 下载了源代码。但是它显示启用intl extension的错误。因为我已经在 php.ini 文件中将 ;extension=php_intl.dll 更改为 extension=php_intl.dll(删除分号)并重新启动 xampp 2-3 次,但它仍然显示相同的错误.

下面是错误:

Fatal error: You must enable the intl extension to use CakePHP. in D:\xampp\htdocs\cakephp-3-0-0\config\bootstrap.php on line 38

所以,谁能告诉我这里的问题是什么?我应该怎么做才能解决这个问题?

激活 php.ini 文件中的 php_intl.dll 后,您还需要将 php_intl.dll 使用的 dll 文件从 PHP 文件夹复制到 Apache/bin文件夹。

我不是 XAMPP 用户,所以我不确定实际的文件夹名称

将xampp/php/icu*.dll复制到xamp\apache\bin

另请记住,您必须编辑 \xampp\apache\bin 文件夹中的 php.ini 文件,而不是 \xampp\php 文件夹中的文件。

\xampp\php 文件夹中的那个仅供 PHP CLI(命令行界面)使用

以防万一你正在使用 OSX

http://www.phpzce.com/blog/view/15/installing-intl-package-on-your-mac-with-xampp

开始的步骤
  1. 检查设置了哪个 php 路径,即

    root$: php

  2. 如果您在 mac 上使用 xampp,它应该是

    /Applications/XAMPP/xamppfiles/bin/php

但如果它

/usr/bin/php 

你需要改变你的 OSx php

root$: PATH="/Applications/XAMPP/xamppfiles/bin:${PATH}" 
  1. 安装icu4c

    root$: brew 安装 icu4c

  2. 通过 PECL 安装 Intl

    root$: sudo pecl 更新通道 root$: sudo pecl install intl

  3. 您可以检查Intl是否安装成功

    root$: php -m | grep intl #should return 'intl'

完成

在我的案例中,问题是重新启动 Apache 进程。通过单击“停止”和“启动”在 XAMPP 控制面板中重新启动是不够的。我不得不 运行 任务管理器并终止 httpd.exe 进程。然后再次运行 XAMPP。那解决问题。

对我来说(不使用任何 xampp,仅 Apache 2.4 和 php 5.5。安装在 Windows 7 上):

取消注释 php.ini 中的国际扩展后,它没有激活,因为我只重新启动了 Apache 服务器!

最好从 phpinfo() 页面观察(尝试查找 intl)。

所以我认为当我停止并启动 Apache 服务器时问题就解决了。 (可能与 中的问题相同)

在尝试解决方案时,我移动了 php 文件夹并将该文件夹更改为 Apache conf 文件,但忘记将环境变量路径更改为 php,所以过了一会儿我发现了这个并让它工作.

Control Panel->System->Advanced->Environmental variables->Path->Check php folder is there Thanks to Gregory Karpinsky

请检查扩展程序是否仍未加载!

无需从 php->apache\bin 复制任何文件。这可能是因为我没有使用 xampp 但实际上有必要停止和启动 Apache 服务以使其重新加载 php 扩展并使路径环境变量正确。

如果您配置了基本设置,请尝试重新启动xampp...它对我有效。