ID: 6671 Updated by: cardinal Reported By: [EMAIL PROTECTED] Old-Status: Open Status: Duplicate Bug Type: *XML functions Operating system: PHP Version: 4.0.2 Assigned To: Comments: This looks like a dup of 6175. Previous Comments: --------------------------------------------------------------------------- [2000-10-30 09:43:37] [EMAIL PROTECTED] [EMAIL PROTECTED] also reports this to happen in: PHP 4.0.2 running as ISAPI under Win98/ed1/PWS RH6.2 and apache [various versions] --------------------------------------------------------------------------- [2000-09-12 02:05:38] [EMAIL PROTECTED] here is a little script which works with php4.0.1pl2 and crash ( Segmentation fault (11) ) with php4.0.2 ! both version where compiled with : ./configure --disable-debug --with-apxs=/usr/sbin/apxs --with-regex=system --with-zlib --with-gd --with-db2 --with-gdbm --with-config-file-path=/etc/httpd --enable-trans-sid the php.ini is the same for both. ========script : cut here================ <head> <title>test xml problem</title> </head> <body> <h1>test xml problem</h1> <pre> <script language="php"> class XmlParse { // variable members var $parser; //*********************************************************** // constructor function XmlParse() { $this->parser = xml_parser_create(); xml_set_object($this->parser,&$this); xml_set_element_handler($this->parser,"tag_open","tag_close"); xml_set_character_data_handler($this->parser,"core_data"); } //*********************************************************** // handler (private) functions function tag_open($parser,$tag,$attributes) { $this->debug1("tag_open",$tag.$this->viewarray($attributes)); } function tag_close($parser,$tag) { $this->debug1("tag_close",$tag); } function core_data($parser,$cdata) { $this->debug1("core_data",$cdata); } //*********************************************************** // parse (public) function function parse($data) { if (!xml_parse($this->parser, $data, 1)) { $error = sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($this->parser)), xml_get_current_line_number($this->parser)); echo $error; } xml_parser_free($this->parser); } //*********************************************************** // debug function function debug1($title,$msg) { echo $title; echo " «"; echo $msg; echo "» "; echo "n"; } function viewarray($arr) { $str = ""; if ( is_array($arr) ) { while ( list($key,$val) = each($arr) ) { $str .= " ".$key."=".$val; } } return $str; } } $xmldata = '<?xml version="1.0"?><tab><line><auteur>zimmer bradley</auteur><titre>la matrice fantôme</titre><serie>la romance de ténébreuse</serie><type>ser20</type><moyenne>16</moyenne><genre>0x00000004</genre><key>0000658</key></line></tab>'; $xfx = new XmlParse(); $xfx->parse($xmldata); </script> </pre> </body> ==========cut here================ Some other tests i have made shows that XML parsing works well with standard functions but does not work any longer with class methods. I use xml_set_object($this->parser,&$this); thank you for your attention ! --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=6671&edit=2 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]