繁体   English   中英

php-针对xsd的xml验证

[英]php - xml validation against xsd

当我使用几种验证工具针对xsd验证xml文件时,它们都返回了肯定的结果:验证成功。

但是,当使用schemaValidate在php中执行此操作时,验证会在显示空白页的60秒后完全中断。 我正在尝试为此找到一些解释:

$doc = new DOMDocument();

$doc->load('C:\a\xml.xml');


try{

    $is_valid_xml = $doc->schemaValidate('http://xxxxxxx/schema.xsd');

    if ($is_valid_xml == true) {
        echo 'ok';
        }else {
        throw new Exception('Validation not successful!');
    }

    }catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "<br />"; 

    } finally {
    print_r(error_get_last());
}

当我在其他通用xml + xsd示例上使用上述方法时,它可以正常工作。 如果我故意弄乱了该xml,则会得到结果“捕获的异常:验证未成功!”。 和一些错误信息,但是使用我的真实xml + xsd文件(要复杂得多),我得到了空白页。

知道为什么会这样吗? 这确切的60秒似乎有些会话超时或类似的东西,但是我在php.ini中已经将其设置为1440秒(session.gc_maxlifetime = 1440)...

我找到了解决方案。 问题出在php.ini >>> max_execution_time = 30

暂无
暂无

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

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