0

我最近升级了我的 WAMP 服务器,但我似乎无法让 Intl 扩展工作。我已经确定

  • 两个ini文件中的扩展路径都是正确的
  • 扩展在两个inis中加载
  • 我可以看到扩展名php --re intl
  • 我可以看到一个示例函数php --rf numfmt_create
  • 我的 php 文件夹中有 icu dll 文件(icu 46、php 5.3.8、wamp 2.2)
  • 我已C:\wamp\bin\php\php5.3.8在系统变量中附加到 PATH
  • 代码是正确的 - wamp 升级之前的工作代码和 php 手动示例代码失败

我正在尝试使用数字格式化程序,但它给了我一些奇怪的错误。以 php 手册中的示例代码为例:

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'it', NumberFormatter::SPELLOUT );
echo numfmt_format($fmt, 1142)."\n";
?>

它给了我这个:

遇到 PHP 错误

严重性:警告

消息:numfmt_format() 期望参数 1 为 NumberFormatter,给定 null

文件名:控制器/test.php

行号:867

回溯:

文件:C:\wamp\www\application\controllers\test.php 行:867 功能:numfmt_format

文件:C:\wamp\www\index.php 行:260 功能:require_once


遇到 PHP 错误

严重性:警告

消息:numfmt_format() 期望参数 1 为 NumberFormatter,给定 null

文件名:控制器/test.php

行号:869

回溯:

文件:C:\wamp\www\application\controllers\test.php 行:869 功能:numfmt_format

文件:C:\wamp\www\index.php 行:260 功能:require_once

我注意到numfmt_create()无论我做什么,它似乎都会返回 NULL 。

4

2 回答 2

0

您可以从 ICU 运行该icuinfo.exe工具以查看 ICU 是否正确加载其数据?

于 2011-12-16T19:51:36.640 回答
0

显然 64 版本的 WAMP 没有正确的 icu dll - 使用 32 版本有效。

于 2011-12-27T14:03:42.557 回答