|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #29657 xml_* functions throw non descriptive error, compared to php4
Submitted: 2004-08-13 17:53 UTC Modified: 2004-08-19 14:39 UTC
From: black at scene-si dot org Assigned:
Status: Closed Package: XML related
PHP Version: 5.0.0 OS: debian
Private report: No CVE-ID:
 [2004-08-13 17:53 UTC] black at scene-si dot org
when validating an incorrectly formated xml file, the errors from php 5.0.0 are vaguely descriptive, outputting some constant name and not a human readable error message

Reproduce code:

if ($argc<2) {
        echo "Usage: ".$PHP_SELF." file.xml\n";

$file = $argv[1];
$depth = array();

function startElement($parser, $name, $attrs) {}
function endElement($parser, $name) {}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
   die("could not open XML input");

while ($data = fread($fp, 4096)) {
   if (!xml_parse($xml_parser, $data, feof($fp))) {
       die(sprintf("XML error: %s at line %d",

Expected result:
XML error: mismatched tag at line 14

(from php4, identical code)

Actual result:

(php5 output)


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2004-08-14 10:52 UTC]
libxml2 (used for ext/xml in PHP 5) has many many more 
error messages than expat (in PHP 4) and is therefore 
more descriptive about what really is wrong. But noone 
bothered to really translate the messages into plain 
english. I'm currently doing it for the more obvious 

But don't expect the same Error Message in PHP 4 and PHP 
5, nor the same error numbers. As said, there are many 
more error messages in libxml2.

 [2004-08-19 14:39 UTC]
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
Thank you for the report, and for helping us make PHP better.

PHP Copyright © 2001-2015 The PHP Group
All rights reserved.
Last updated: Wed Dec 02 06:01:39 2015 UTC