当我使用多个验证工具对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)......
答案 0 :(得分:0)
我找到了解决方案。问题出在php.ini&gt;&gt;&gt; max_execution_time = 30