Когда я проверяю свой файл xml на xsd с помощью нескольких инструментов проверки, все они дают положительный результат: проверка прошла успешно.php - xml validation from xsd
Но когда это делается в php с помощью schemaValidate, проверка проходит ровно через 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 намеренно, я получаю результат «Caught exception: Validation not succesfull!» и некоторые сведения об ошибке, но с моими реальными файлами xml + xsd (которые намного сложнее) я получаю пустую страницу.
Любая идея, почему это происходит? Этот точный 60 секунд кажется некоторым сеансом тайм-аута или что-то в этом роде, но я посмотрел в php.ini, он установлен на 1440 сек (session.gc_maxlifetime = 1440) ...
Добро пожаловать в переполнение стека. Существует хороший совет по заданию эффективных вопросов в файлах справки [SO help] (http://stackoverflow.com/help/how-to-ask) и в эссе Эрика Раймонда и эссе Рика Моэна [Как задавать вопросы умным способом] (http://catb.org/~esr/faqs/smart-questions.html). Вы получите лучшие ответы, если вы предоставите [минимальный полный проверяемый пример] (http://stackoverflow.com/help/mcve). Сокращая реальный XML и XSD до наименьшего примера, демонстрирующего проблему, вы можете обнаружить проблему и больше не нужно задавать вопрос - это всего лишь риск, который вы должны предпринять. –
Здравствуйте, tnx для получения инструкций. Я нашел решение. Проблема была в php.ini >>> max_execution_time = 30 – Mario