繁体   English   中英

致命错误:未捕获错误:未找到类“ IntlChar”

[英]Fatal error: Uncaught Error: Class 'IntlChar' not found

我正在使用一个40GB的巨大json文件,并且正在使用PHP 7的JSON拉式解析器从该巨大的文件中提取数据。 这是我的虚拟json文件

我想从属性“ entityStatusDescription”中以表的形式提取数据,如下所示:

 `ENTITYSTATUSDESCRIPTION`
      `removed`
     `registered`
      `removed`
      `removed`
    `registered`
      `removed`

我能够从其他属性中提取数据,但是从属性entityStatusDescription提取数据时,仅提取了几行,然后出现错误:

致命错误:未捕获错误:在E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Lexer.php:285中找不到类'IntlChar':堆栈跟踪:#0 E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Lexer.php(161):pcrov \\ JsonReader \\ Parser \\ Lexer-> evaluateEscapedUnicodeSequence()#1 E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Lexer.php(191) ):pcrov \\ JsonReader \\ Parser \\ Lexer-> evaluateEscapeSequence()#2 E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Lexer.php(101):pcrov \\ JsonReader \\ Parser \\ Lexer-> evaluateDoubleQuotedString ()#3 [内部函数]:pcrov \\ JsonReader \\ Parser \\ Lexer-> getIterator()#4 E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Parser.php(180):IteratorIterator-> next()#5 E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Parser.php(152):pcrov \\ JsonReader \\ Parser \\ Parser-> parsePair()#6 E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Parser.php(205):pcrov \\ JsonReader \\ Parser \\ Parser-> parseObject()#7 E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Parser。 php(123):pcrov 第285行的E:\\ xampp \\ htdocs \\ vendor \\ pcrov \\ jsonreader \\ src \\ Parser \\ Lexer.php中的\\ JsonReader \\ Parser \\ Parser-> parseValue

我很乐意提供帮助。 这是我的代码:

 <?php
     require_once "E:/xampp/htdocs/vendor/autoload.php";    
     use \pcrov\JsonReader\JsonReader;
     ini_set("max_execution_time", 0);
     $reader = new JsonReader();
     $reader->open("jsonfile.json");    
     $fo = fopen("csvfile.csv", "w" );
     fputs($fo, "companyStatus".PHP_EOL);
     while($reader->read()) {


         if ($reader->read("entityStatusDescription")){
             $entityStatusDescription = $reader->value();
         }  
         fputs($fo,  $entityStatusDescription.PHP_EOL);

  }
  $reader->close();

当您收到此错误消息时,您需要安装Intl扩展。

请参考PHP手册:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM