У меня проблемы с использованием XMLReader на нашем рабочем сервере, в то время как на наших серверах разработки все работает гладко. XMLReader всегда выдает «ошибку парсера: дополнительный контент в конце документа» при чтении файла xml. Независимо от того, содержит ли он тысячи элементов или всего одну строку.
$reader = new \XMLReader();
$reader->open($xmlFileName, 'UTF-8');
while ( $reader->read() ) { ... do nothing ... }
$reader->close();
XML выглядит так в самой простой форме:
<?xml version="1.0" encoding="UTF-8"?>
<data><articles><![CDATA[test]]></articles></data>
Каждый валидатор xml говорит, что он правильно сформирован, но ошибки все еще выдаются.
Единственная разница, которую я могу заметить между нашей системой разработки и нашей живой системой, заключается в том, что наша система разработки (Ubuntu) имеет версию libxml2 2.7.16, а живая система (CentOs) — 2.6.16. Может ли это быть причиной?