Ошибка синтаксического анализа XML: объявление XML или текста отсутствует при запуске объекта в веб-сервисах php

#php #xml #removing-whitespace

#php #xml #удаление-пробел

Вопрос:

В моем проекте я использую xml для веб-сервисов. В настоящее время работает на сервере Apache и будет перенесен на сервер Nginx.

Я использую те же файлы, что и страницы веб-сервисов на обоих серверах. С файлами на сервере Apache проблем нет. На этих страницах отображается новый сервер Nginx "XML Parsing Error: XML or text declaration not at start of entity" . Во время поиска я обнаружил, что может быть немного дополнительного пространства или строк непосредственно перед заголовком xml или тегами php. Я проверил каждый раздел и вывел xml сразу после тега php open.

Я уверен, что на моей кодовой странице нет дополнительного места. Но когда я беру его в браузере и просматриваю исходный код, сверху появляется дополнительная строка, которая вызывает проблему. И когда я удаляю ob_start() и использую ob_clean() непосредственно перед вызовом xml, он будет работать нормально. Но в моей папке веб-сервиса есть много таких страниц вывода xml, и вставлять ob_clean() на каждую страницу нецелесообразно.

Поставщики серверов nginx сделали настройки сервера почти аналогичными среде Apache, например, установили output_buffering, модуль zlib и т. Д. Но я подозреваю, что на новом сервере может быть некоторое несоответствие в расположении на стороне сервера.

Кто-нибудь сталкивался с подобной проблемой "XML Parsing Error: XML or text declaration not at start of entity" из-за неправильной настройки любого из модулей на вашем сервере?

Как я могу это исправить?

Ответ №1:

Со мной никогда не случалось, но это может вам помочь:

«Наконец, попросив кого-нибудь о помощи, я подумал просто посмотреть Настройки сервера> Настройки. Была опция Включить управление пробелами. Это было снято. Я проверил это и отправил новые настройки, и все было правильно, как дождь «.

Комментарии:

1. Большое спасибо за ваш ответ. Я отправил то же самое нашей команде, предоставляющей сервер

2. Найденное вами решение действительно только для coldfusion, но мы не можем найти его для nginx или даже apache. Это ответ от моих поставщиков серверов