首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么libxml_use_internal_errors(真)不尊重LIBXML_NOWARNING?

为什么libxml_use_internal_errors(真)不尊重LIBXML_NOWARNING?
EN

Stack Overflow用户
提问于 2018-10-25 21:06:41
回答 1查看 500关注 0票数 0

我想了解libxml_use_internal_errors(true)是如何工作的。它似乎不尊重LIBXML_NOWARNING标志。

下面是一个使用PHP 7.2.4的示例。

代码语言:javascript
复制
libxml_use_internal_errors( false );
new SimpleXMLElement(
  '<DataSet xmlns="iminvalid"></DataSet>', 
  LIBXML_NOWARNING );
var_dump(sizeof(libxml_get_errors()));
// int(0)

正如预期的那样,这些语句没有发出警告。由于LIBXML_NOWARNING,名称空间警告是隐藏的。

然而,这一点:

代码语言:javascript
复制
libxml_use_internal_errors( true );
new SimpleXMLElement(
  '<?xml version="1.0" encoding="utf-8"?><DataSet xmlns="iminvalid"></DataSet>', 
  LIBXML_NOWARNING );
var_dump(sizeof(libxml_get_errors()));

// int(1)
// xmlns: URI iminvalid is not absolute

意外地返回无效的uri警告。如何能够libxml_use_internal_errors( true )和隐藏xml解析警告?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-08 17:37:18

从php 7.3.15开始,它似乎工作正常。这两个示例都没有显示警告,但第二个示例确实捕获了警告。该标志并不阻止通过该函数捕获警告,它只会禁止警告显示在控制台或web浏览器上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52998113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档