Php ResourceBundle返回NULL,但未引发任何错误

Php ResourceBundle返回NULL,但未引发任何错误,php,resourcebundle,icu,intl,Php,Resourcebundle,Icu,Intl,对于国际化数据,最好使用PHP的“intl”扩展中的\ResourceBundle类 我运行了扩展名(PHP5.3.4;Windows),并使用*创建了一个.dat文件,但是我没有从资源包类中获得预期的结果 现在我做这个 $bundle = '/var/www/libs/icudt48l.dat'; $resource = new \ResourceBundle('en_US', $bundle, true); var_dump($resource, is_file($bundle)); /

对于国际化数据,最好使用PHP的“intl”扩展中的
\ResourceBundle

我运行了扩展名(PHP5.3.4;Windows),并使用*创建了一个.dat文件,但是我没有从资源包类中获得预期的结果

现在我做这个

$bundle   = '/var/www/libs/icudt48l.dat';
$resource = new \ResourceBundle('en_US', $bundle, true);
var_dump($resource, is_file($bundle)); //--> NULL, TRUE
问题是,
$resource
返回NULL而不引发任何错误。发生什么事了


*(仅检查了最后两个数据部分始终包含基本数据,我将其导出为ICU4C)

尝试
$resource=resourcebundle\u create('en\u US',$bundle,true)

没有成功,尝试过;resourcebundle_create();新ResourceBundle();ResourceBundle::create();所有返回空…您可以考虑直接读取CLDR数据,因为ICU数据是从这里来的——不应该依赖ICU4C数据的内部格式。请问,您定制的目的是什么?最好在intl扩展方面实现您的组件,或者建议对intl或ICU进行更改。
<?php
$b = '/var/www/libs/icudt48l';
$r = new \ResourceBundle('en_US', $b, true);
var_dump($r instanceof \ResourceBundle); //-> TRUE