PDA

View Full Version : XML Parsing Error: xml processing instruction not at start of external entity


Scandal
11-19-2017, 12:51 PM
When we click Edit button of any post (so the Quick Edit form should displayed), I get this error on the browser's console:
XML Parsing Error: xml processing instruction not at start of external entity
Location: http://www.xxxxx.xx/ajax.php?do=quickedit&p=438
Row number 2, Column 1:
... the Quick Edit form is not appearing the the progress bar displayed permanently. :(

- I have try to disable hooks, but the problem still appears.
- I have this row on config.php: ini_set("display_errors", false); so I don't think it is a fatal error/ warning by PHP which brokes the xml normal syntax.
- I have informed that this appear starts after the move of the site to another server.
- We use vB3.8.4

Any idea to take a look? :)

Dave
11-19-2017, 02:03 PM
Is there anything in your PHP error logs that could indicate something goes wrong?
Pretty sure this is caused by a fatal PHP error.

Scandal
11-19-2017, 04:09 PM
Well, I found the reason of this issue, but I don't know how to fix it.

Exact the same site on a localhost testing board works perfectly, but on the live server ANY html page/ ajax call etc, has a useless empty line as line #1 (https://imgur.com/a/4neb0).
For normal html pages, there is no reason for the browser to retun an error, but when we're talking about an ajax call, this empty line at the top of the response, breaks the xml parsing from the browser.

So it seems it is a server/ PHP/ Apache setting that applies this empty line.

Any idea how to fix it?

Dave
11-19-2017, 04:24 PM
Have you tried to disable all hooks to make sure it's not a plugin issue?

Scandal
11-19-2017, 04:28 PM
Yes, as I have noticed on the first post:
- I have try to disable hooks, but the problem still appears.

The exact copy of the site is installed on my locahost where the problem does not exists.

Dave
11-19-2017, 05:41 PM
My guess is that your /includes/config.php file has the BOM issue.
Open the file and re-save it as encoding UTF-8 without BOM.

Scandal
11-19-2017, 06:26 PM
Thanks Dave!! Your post inspired me to take a better look @ config.php.

The issue was that we were talking about a vB3.8.4 with a config.php of version vB3.6.8!

It seems the admins were upgrade all the time the vBulletin with not touching the config.php.
Maybe was it or maybe cause the file was some enters and spaces from the lots times of editing all these years.

I just replace the config.php with clean a vB3.8.7 ++ applied again the information.

All good, thank you very much :)