我最近升级了我的WAMP服务器,我似乎不能让Intl扩展工作。我已经确保
- 两个ini文件中的扩展名路径是正确的
- 扩展是加载在两个inis
- 我可以看到扩展与
php --re intl
- 我可以看到
php --rf numfmt_create
的示例函数 - 我有icu dll文件在我的php文件夹(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,空给
文件名:控制器/test.php
行号:867
回溯:
文件:C:'wamp'www'application'controllers'test.php行:867功能:numfmt_format
File: C:'wamp'www'index.php Line: 260 Function: require_once
遇到PHP错误
严重性:警告
消息:numfmt_format()期望参数1是NumberFormatter,空给
文件名:控制器/test.php
行号:869
回溯:
文件:C:'wamp'www'application'controllers'test.php行:869功能:numfmt_format
File: C:'wamp'www'index.php Line: 260 Function: require_once
我注意到numfmt_create()
似乎返回NULL,无论我做什么。
您可以从ICU运行icuinfo.exe
工具来查看ICU是否正确加载其数据?
显然64版本的WAMP没有正确的icu单元-使用32版本工作